0
我正在使用動態查詢,如果參數值爲false,需要向查詢添加列。根據參數值將條件添加到條件SQL
// SQL:
SET @FilterExp = 'SELECT * from tblName where ptblnFlag = '+Convert(varchar(2),@blnFlag)+') as tbl where 1=1'+ COALESCE(NULLIF(CONVERT(varchar(8000), @FilterExp),''), '')
在上述查詢我需要檢查@blnFlag
是假,則列可以在其中條件加入。如果屬實,則不需要在那裏。
如果條件爲false,它應該返回所有值,如果爲true,則結果集基於條件。
它,我已經最小化,以獲得更好的理解一些大的查詢。 – iamCR
@SanthoshKumar好的,無論我的答案是否有幫助。如果不是,那麼改變這個問題。不要使用有問題的動態sql。就像if'@blnFlag = 0'那樣,如果'@blnFlag <> 0'選擇查詢應該像'select * from ...'那麼select查詢應該像'select * from ...' –
您的邏輯工作。我有幾個子查詢和更復雜的條件,這就是爲什麼我提到'動態查詢'。謝謝你的時間。 – iamCR