将列的所有值更新为小写

Ada*_*han 89 mysql

让我们说我有类似的东西

uid    tag
1      HeLLo
2      heLLO
3      HELLO
4      hello
Run Code Online (Sandbox Code Playgroud)

如何将"tag"列中的所有值更新为:

uid    tag
1      hello 
2      hello 
3      hello 
4      hello 
Run Code Online (Sandbox Code Playgroud)

使用MySQL?

Rip*_*ppo 222

请参阅http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lower

UPDATE table_name SET tag = LOWER(tag)
Run Code Online (Sandbox Code Playgroud)

  • 请注意,当您的数据库使用不区分大小写的匹配时,这不起作用. (3认同)
  • `UPDATE table_name SET tag = BINARY LOWER(tag)`,用于不区分大小写的匹配。 (2认同)
  • @BjörnC-上/下仅更改字母;其他所有字符均保持不变。 (2认同)

小智 6

如果您不想更新整个列,则不区分大小写匹配并包含“WHERE”子句的版本:

UPDATE table 
SET tag = LOWER(tag)
WHERE LOWER(tag) != tag
COLLATE Latin1_General_CS_AS
Run Code Online (Sandbox Code Playgroud)

如果您的数据库使用不区分大小写的匹配,则 COLLATE 行将使其工作,就像我的一样。