T-SQL動態語法串接

當SQL想要靈活一點,舉例來說,當參數為空值時不用加條件,但有值需要加條件,就可以用動態與髮串接來增加靈活性,不需要在後端做一堆判斷是否為空,以下面為例。

declare @sql varchar(1000)                           //宣告一個字串存SQL指令
set @sql='
select a,b,c,d                                                       //抓a,b,c,d四個 column
from table
where a=''1'' '                                                   //a=1的條件
if(@參數1<>'')
set @sql=@sql+'and b='''+@參數1+''' '    //如果後端傳進來的參數1不為空,在多加 b=參數1 的條件
set @sql=@sql+'order by c'                           //最後再照c排序
execute(@sql)                                                    //執行串接完的SQL指令

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)