我需要通過數字賦值字,所以我嘗試了下面的code.but它顯示錯誤「不正確的語法靠近關鍵字的情況下。如何使用大小寫sql server 2008
declare @ww int
set @ww=1
case @ww
WHEN '1' THEN print='one'
ELSE NULL
我在哪裏犯錯...?
我需要通過數字賦值字,所以我嘗試了下面的code.but它顯示錯誤「不正確的語法靠近關鍵字的情況下。如何使用大小寫sql server 2008
declare @ww int
set @ww=1
case @ww
WHEN '1' THEN print='one'
ELSE NULL
我在哪裏犯錯...?
請仔細閱讀http://technet.microsoft.com/en-us/library/ms181765.aspx
在那裏它指出:「情況下,可以在任何陳述或條款,允許一個有效的表達式中使用。例如,你可以在語句,如SELECT,UPDATE,DELETE和SET的使用情況,以及諸如select_list,IN,WHERE,ORDER BY和HAVING等子句。「這裏不是這種情況。
在回答您的意見(因爲你可以不排隊在評論休息)
declare @ww int
set @ww=1
if @ww = 1
SET @result = 'one'
很抱歉的編輯工作,我的兔子在我的鍵盤跑。
不能在待機使用單獨的案例,而不是像這樣使用
declare @ww int
set @ww=1
SELECT CASE @ww
WHEN '1' THEN 'one'
ELSE NULL
end
謝謝了.... – Happy
你的錯誤是::你沒有case語句後寫「結束」。
'CASE'是SQL Server中的*表達式*。它計算一個值。這不是控制流*聲明*。你能給出一個更現實的例子,你想要達到什麼目的?目前,我只是優化這個眼睛,並重新寫你的整段代碼爲'print ='one''(無論這是什麼意思) –