我在SP下的Where Clause.Query中使用了SWITCH語句似乎很好,但我無法理解爲什麼它給了我錯誤。 查詢:SQL中的Switch語句中出錯
Select * from Customer
WHERE ([email protected] OR @ISClose is NULL)
AND
(C.FirstName like '%'[email protected]+'%' or @ClientName is NULL)
AND
CASE @abc
WHEN 2 THEN [email protected] or @Total is NULL
WHEN 3 THEN I.RecurringCharge like
'%'+cast(@Total as varchar(50))+'%'
or @Total is NULL
END
的代碼是不完整的,但能夠充分理解試圖編譯時的疑難問題。我收到以下錯誤消息。
Incorrect syntax near '='.
錯誤在下面一行。
WHEN 2 THEN [email protected] or @Total is NULL
請高手幫幫我。
在此先感謝。
T-SQL'CASE'語句只能** **返回(原子)值(如1,'Hello') - 不是整個**代碼塊**或表達式... –
但這是我的要求基於@abc返回如上所述。 我可以修復它,或者沒有解決方案嗎? –
我不明白你想做什麼 - 在你的'WHERE'子句中間,你試圖分配變量和東西..... –