2

如何编写 SQL 查询以用下划线替换表中所有出现的空格并将所有字符设置为小写?

4

2 回答 2

18

要更新单个表中的单个列,可以使用LOWER()和的组合REPLACE()

UPDATE table_name SET column_name=LOWER(REPLACE(column_name, ' ', '_'))

要“复制”现有列,并对副本执行更新(根据您在评论中的问题),您可以在查询ALTER之前使用 MySQL 的命令:UPDATE

ALTER TABLE table_name ADD duplicate_column_name VARCHAR(255) AFTER column_name;
UPDATE table_name SET duplicate_column_name = LOWER(REPLACE(column_name, ' ', '_'));

只需确保更新ALTER命令中的数据类型以反映您的实际数据类型。

于 2012-08-03T17:13:07.200 回答
0

在 SQL 中使用 UPDATE 语句时,请始终记住包含 WHERE 子句——MYSQL Workbench 就是这样说的!:D

不过我的回答是:

REPLACE(string1, find_in_string, replacementValue);
于 2015-08-13T11:15:53.680 回答