Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于条件调用存储过程中的标量值函数_Sql_Tsql - Fatal编程技术网

Sql 基于条件调用存储过程中的标量值函数

Sql 基于条件调用存储过程中的标量值函数,sql,tsql,Sql,Tsql,我使用标量函数计算一些值,并在检索表时将其作为列添加 Select * ,dbo.funcnme(@userid,itemid) as newvalue from items 现在我有一个场景,在这个场景中,我必须基于items值调用一个函数,但是我无法正确地得到它 select *, Case when items.Value=4 then dbo.funcnme(@userid,itemid) as newvalue else dbo.newf

我使用标量函数计算一些值,并在检索表时将其作为列添加

Select * ,dbo.funcnme(@userid,itemid) as newvalue  from items
现在我有一个场景,在这个场景中,我必须基于items值调用一个函数,但是我无法正确地得到它

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

关键字“as”附近的语法不正确


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

我缺少
案例的
结尾
,除此之外,别名也应该在结尾:

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