<分区>
有没有办法替换整个表中的所有字符(或字符集)? (不仅在一栏内)
例如 - 如果我想一次性将所有列中的整个表格和字符“ab”替换为其他字符(例如“cd”) - 如何做到这一点?
与特定的数据库技术无关,但如果它有帮助 - 假设它是 MySql。
如果有帮助,我可以创建一个临时表或“最终”表。
<分区>
有没有办法替换整个表中的所有字符(或字符集)? (不仅在一栏内)
例如 - 如果我想一次性将所有列中的整个表格和字符“ab”替换为其他字符(例如“cd”) - 如何做到这一点?
与特定的数据库技术无关,但如果它有帮助 - 假设它是 MySql。
如果有帮助,我可以创建一个临时表或“最终”表。
最佳答案
使用 MySQL 的方法是:
UPDATE MyTable
SET col001 = REPLACE(col1, 'ab', 'cd'),
col002 = REPLACE(col2, 'ab', 'cd'),
...
col100 = REPLACE(col100, 'ab', 'cd');
像这样写出 100 个子句很乏味,但是您可以使用 SQL 生成整个 UPDATE 语句:
SELECT CONCAT('UPDATE MyTable SET ',
GROUP_CONCAT(CONCAT('`', COLUMN_NAME, '` = REPLACE(`', COLUMN_NAME, '`, '''ab'', ''cd'')'),
';') AS _sql
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MyTable';
(未经测试)
关于mysql - SQL - 如何用其他人替换具有 100 列的整个表中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330403/