2012-06-08 59 views
1

你好我使用的是標量函數來計算一些數值,並將其添加爲一列,而retriving我用的是table.The查詢在存儲過程中的標值函數是調用基於條件

Select * ,dbo.funcnme(@userid,itemid) as newvalue from items 

現在我有,我有打電話給根據項目值的函數的情景,但我不能得到它火腿腸查詢我想是

select *, 
    Case when items.Value=4 
     then dbo.funcnme(@userid,itemid) as newvalue 
     else dbo.newfuncnme(@userid,itemid) 
    as newvalue from items 

它顯示

關鍵字'as'附近的語法不正確。

這裏有什麼問題,我該怎麼辦,請幫忙。

回答

3

我錯過了CASEEND,除了該別名也應該是結尾:

select *, 
    Case when items.Value=4 
     then dbo.funcnme(@userid,itemid) 
     else dbo.newfuncnme(@userid,itemid) 
    END as newvalue 
from items 
+0

非常感謝它的工作原理 – Karthik