我有一个有效状态列表,分别是'dc','Nu','tN','VA'。 我还有一个无效/垃圾状态列表,例如'aa','BB','CC'
现在我想进行更新,以大写形式更新有效状态,以便我可以获得以下更新数据:'DC','NU','TN','VA'
这不起作用:
update states set state = upper(state) where state in ('DC', 'NU', 'TN', 'VA');
如果小案例有效,可以将小案例更新为CAPS吗?
更新
在任何情况下我都可以拥有特定的状态,例如'DC'或'dc'或'dC'或'Dc'。显然我可以做update states set state = upper(state) where state in ('DC', 'dc', 'dC', 'Dc')
之类的事情。但它为同一个州多次提及。有没有优雅的方式?
答案 0 :(得分:4)
无需执行in ('DC', 'dc', 'dC', 'Dc')
等。您可以强制列Upper()
并仅比较这些值:
update states
set state = upper(state)
where Upper(state) in ('DC', 'NU', 'TN', 'VA');