我正在用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语法中遗漏了什么吗?
暂无答案!
目前还没有任何答案,快来回答吧!