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

Kin*_*han 3 sql sql-server

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

如下所示:

SELECT 
REPLACE ('Hello', 'e', '!')
REPLACE(
    CASE 
        WHEN 1 = 1 THEN 'Hello'
        ELSE 'Bye'
    END AS MyStr, 'e', '!'
    )
Run Code Online (Sandbox Code Playgroud)

因为它返回:

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

Ada*_*son 6

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

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
    )
Run Code Online (Sandbox Code Playgroud)