2014-01-10 90 views
0

我需要通過數字賦值字,所以我嘗試了下面的code.but它顯示錯誤「不正確的語法靠近關鍵字的情況下。如何使用大小寫sql server 2008

declare @ww int 

set @ww=1 
case @ww 
WHEN '1' THEN print='one' 

ELSE NULL 

我在哪裏犯錯...?

+0

'CASE'是SQL Server中的*表達式*。它計算一個值。這不是控制流*聲明*。你能給出一個更現實的例子,你想要達到什麼目的?目前,我只是優化這個眼睛,並重新寫你的整段代碼爲'print ='one''(無論這是什麼意思) –

回答

1

請仔細閱讀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' 

很抱歉的編輯工作,我的兔子在我的鍵盤跑。

+0

我需要此代碼「if(@fun_level == 1) \t \t @ result ='one'「如何得到它 – Happy

+0

編輯發佈 –

+0

+1爲最有趣的編輯藉口,我見過。 –

1

不能在待機使用單獨的案例,而不是像這樣使用

declare @ww int 
set @ww=1 
SELECT CASE @ww 
    WHEN '1' THEN 'one' 
ELSE NULL 
end 
+0

謝謝了.... – Happy

0

你的錯誤是::你沒有case語句後寫「結束」。