1
我想在SQL中使用CASE語句更改列中的一串字符。 代碼如下替換CASE語句中的多個字符,SQL
CASE
WHEN [EmpName] LIKE '%æ%'
THEN REPLACE([EmpName], 'æ', 'ae')
WHEN [EmpName] LIKE '%ø%'
THEN REPLACE([EmpName], 'ø', 'oe')
WHEN [EmpName] LIKE '%å%'
THEN REPLACE([EmpName], 'å', 'aa')
WHEN [EmpName] LIKE '%-%'
THEN REPLACE([EmpName], '-', '')
ELSE [EmpName]
END [EmpName (no special characters)]
的問題是,如果一個名稱有不同的種類(如O和a)的多個字符,它只會只更換其中的一個(在case語句中的第一個那就是ø)。 有沒有辦法一次性替換CASE語句中的所有列出的字符?
謝謝!
您使用MySQL,Oracle或MS SQL Server嗎?不要標記不涉及的產品。 – jarlh
跳過大小寫表達式,嵌套替換就可以了。 – jarlh
我可以使用任何這些,這就是爲什麼我做到了:) 它工作順便! 非常感謝你!!!!! –