SQL UPPER只是特定的单词

Int*_*alk 1 sql sql-server sql-server-2008

有谁知道我怎么只能改变数据库中varchar字段中的一个单词?它们的格式类似于"奶酪","奶酪","CheesE".我想把它们全部改为CHEESE,但我在这些领域也有其他文字.我想知道他们是否是一种方法来单独说出这个词然后让它变得更好.

就像是

update table
set field = Upper(cheese)+rest of field
Run Code Online (Sandbox Code Playgroud)

谢谢

jue*_*n d 7

update table
set field = replace(field, 'cheese', 'CHEESE')
Run Code Online (Sandbox Code Playgroud)

SQLFIddle演示

  • @juergend - 你的答案取代了子串"cheese"而不是"cheese"这个词.在这种情况下可能是一个迂腐的区别,因为我不能想到包含子串`cheese`的许多单词.但对于其他字符串,它会产生影响.例如`replace(field,'rat','RAT')`会导致像`sepaRATe`这样的单词 (3认同)
  • OP想要替换这个特定单词,而不是替换包含该单词的单词. (2认同)