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
我可以使用任何这些,这就是为什么我做到了:) 它工作顺便! 非常感谢你!!!!! –