如何将CASE表达式中的值返回到ALIAS

时间:2011-08-26 11:23:26

标签: sql-server-2008

我想将一个值从case参数返回到别名。我已经尝试了以下

的各种内涵
CASE dbo.sch_group.group_code WHEN 'ERDS' THEN '1' AS alias_name

但是我在别名

附近收到错误的语法警告

2 个答案:

答案 0 :(得分:2)

你是missing an END (CASE on MSDN)。这是一个“简单的CASE表达”

CASE dbo.sch_group.group_code
    WHEN 'ERDS' THEN '1'
END AS alias_name

如果你有更多的条件,那就是这个

CASE dbo.sch_group.group_code
    WHEN 'ERDS' THEN '1'
    WHEN 'abcd' THEN '2'
    ELSE <something>
END AS alias_name

我还假设这是在SELECT或类似的

SELECT
    col1, col2, 
    CASE dbo.sch_group.group_code
        WHEN 'ERDS' THEN '1'
        WHEN 'abcd' THEN '2'
        ELSE <something>
    END AS alias_name
FROM
    dbo.sch_group
WHERE
    ...

答案 1 :(得分:0)

这是来自ORACLE,所以我不确定它是否可以在SQL Server中运行,但是:

(例如dbo.sch_group.group_code ='ERDS'THEN'1'END)AS alias_name