when-then”sql语句中用特殊字符替换字符?

dfddblmv  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(424)

我正在用case when then语句替换表中的一些数据。它在这种情况下非常有效:

SELECT
    CASE 
    WHEN [Flight Number]            = '777777' 
    AND  [Passenger Surname]        = 'Horbache' THEN 'Horbaje'
    ELSE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE([Passenger Surname], 'Ö', 'OE'),'Ü', 'UE'),'Ä', 'AE'), 'ß', 'SS'), '-', ''),' ','') 
    END AS [PASSENGER_SURNAME]

但是,在某些情况下,我必须用一些特殊字符(如下划线)替换我的“普通”字符。在这种情况下,我的说法是行不通的。我没有得到一个错误,但它只是不执行我的更改。

SELECT
        CASE 
        WHEN [Flight Number]            = '777777' 
        AND  [Passenger Surname]        = 'Horbache' THEN 'Horba_e'  
        ELSE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE([Passenger Surname], 'Ö', 'OE'),'Ü', 'UE'),'Ä', 'AE'), 'ß', 'SS'), '-', ''),' ','') 
        END AS [PASSENGER_SURNAME]

你知道怎么做吗?我关心的是把它作为一个case语句,因为它是一个更大查询的一部分,我不想改变逻辑。我只是在sql语法中遗漏了什么吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题