是否可以在Replace(SQL Server)中声明CASE语句?

时间:2012-03-05 22:09:58

标签: sql sql-server

就像标题一样,有可能吗?

如下所示:

SELECT 
REPLACE ('Hello', 'e', '!')
REPLACE(
    CASE 
        WHEN 1 = 1 THEN 'Hello'
        ELSE 'Bye'
    END AS MyStr, 'e', '!'
    )

因为它返回:

  

消息156,级别15,状态1,行4关键字附近的语法不正确   'CASE'。

1 个答案:

答案 0 :(得分:5)

您的查询中存在语法错误,但除此之外看起来是正确的。它应该是

SELECT 
REPLACE ('Hello', 'e', '!'), -- missing comma in the original query
REPLACE(
    CASE 
        WHEN 1 = 1 THEN 'Hello'
        ELSE 'Bye'
    END, 'e', '!' -- removed the AS clause
    )