1

您好我正在使用标量函数来计算一些值并将其添加为列,同时检索表。我使用的查询是

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”附近的语法不正确。

这里有什么问题。我该怎么做,请帮忙。

4

1 回答 1

3

我错过了ENDCASE,除此之外,别名也应该在末尾:

select *,
    Case when items.Value=4 
        then dbo.funcnme(@userid,itemid) 
        else dbo.newfuncnme(@userid,itemid)  
    END as newvalue  
from items
于 2012-06-08T07:29:43.603 回答