2
我正在編碼MS SQL 2008 R2中的表值函數。如果在SQL語句的部分字符串中?
是否有可能是一個SQL語句的部分字符串,它是在WHERE子句中包裝一個IF構造?
WHERE MyTable.MyColumn = @MyVariable
AND (MyColumn2 = @MyVariable2)
ORDER BY MyTable.MyColumn DESC
我正在編碼MS SQL 2008 R2中的表值函數。如果在SQL語句的部分字符串中?
是否有可能是一個SQL語句的部分字符串,它是在WHERE子句中包裝一個IF構造?
WHERE MyTable.MyColumn = @MyVariable
AND (MyColumn2 = @MyVariable2)
ORDER BY MyTable.MyColumn DESC
您可以使用
WHERE MyTable.MyColumn = @MyVariable
AND ((@date is null) or (MyColumn2 = @MyVariable2))
感謝它的工作原理很好! :) –
目前尚不清楚你的要求。如果您添加表格結構,樣本數據和預期的輸出,那麼看到您想要執行的操作會更容易。 –
我想在IF構造中打包「AND(@ MyVariable2 MyColumn2 =)」。 IF構造正在將一個值與語句外部的已定義變量進行比較。你現在知道我的意思嗎? –
外面我有一個變量@Date,如果這個變量不爲空我想擴展我的Where子句與部分字符串「AND(MyColumn2 = @ MyVariable2)」 –