Mysql 如何在REPLACE()函数中使用数组?

Mysql 如何在REPLACE()函数中使用数组?,mysql,sql,replace,Mysql,Sql,Replace,我有一些字符,我想用其他字符替换它们 - => * / => . { > => } 这里还有一个表中记录的示例:数据库 我可以使用4个独立的更新查询来实现这一点:通过逐个执行它们 现在我想知道,有没有更短的解决方案?因为在现实中,有超过12个案例需要更换。例如,我是否可以将所有这些符号写入一个数组,然后将该数组一次性放入更新查询中 UPDATE table SET `col` = REPLACE(REPLACE(REPLACE(REPLACE(`col`,

我有一些字符,我想用其他字符替换它们

- => * / => . { > => } 这里还有一个表中记录的示例:数据库

我可以使用4个独立的更新查询来实现这一点:通过逐个执行它们

现在我想知道,有没有更短的解决方案?因为在现实中,有超过12个案例需要更换。例如,我是否可以将所有这些符号写入一个数组,然后将该数组一次性放入更新查询中

UPDATE table 
SET `col` = REPLACE(REPLACE(REPLACE(REPLACE(`col`, 
                                                         '>', 
                                                         '}' ), 
                                                 '<', 
                                                 '{' ), 
                                         '/', 
                                         '.' ), 
                                 '-', 
                                 '*' );
postgresql translate上有一个函数正好可以做到这一点

在这里,我发现了一个复制该函数的存储过程,comment是西班牙语的

postgresql translate上有一个函数正好可以做到这一点

在这里,我发现了一个复制该函数的存储过程,comment是西班牙语的


不是说这不是一个好的解决方案,但应该注意的是,采用这种方法显然是为了提高效率而牺牲可读性。看起来很难看,但很容易以编程方式生成。更不是说这不是一个好的解决方案,但需要注意的是,采用这种方法显然是为了提高效率而牺牲可读性。看起来很难看,但很容易通过编程方式生成。
+-------------------+
| * it {is} a test. |
+-------------------+
UPDATE table SET `col` = REPLACE(`col`, '-', '*' );
UPDATE table SET `col` = REPLACE(`col`, '/', '.' );
UPDATE table SET `col` = REPLACE(`col`, '<', '{' );
UPDATE table SET `col` = REPLACE(`col`, '>', '}' );
UPDATE table 
SET `col` = REPLACE(REPLACE(REPLACE(REPLACE(`col`, 
                                                         '>', 
                                                         '}' ), 
                                                 '<', 
                                                 '{' ), 
                                         '/', 
                                         '.' ), 
                                 '-', 
                                 '*' );