我正在尝试替换所有出现的 unicode 字符 "MINUS SIGN" (U+2212)通过 'HYPHEN-MINUS' (U+002D) 进入列。
我尝试了各种 UPDATE..REPLACE 命令,例如:
UPDATE assets
SET
asset_tag = REPLACE(asset_tag,
concat("%", unhex('e28892'), "%"),
concat("%", unhex('2d'), "%"))
WHERE
asset_tag like concat("%", unhex('e28892'), "%");
所有结果相同:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 412 Changed: 0 Warnings: 0
表的字符集是 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
我做错了什么?我正在使用命令行客户端。
谢谢!
最佳答案
REPLACE
中不需要'%'
。所以只需像这样制作您的替换函数:REPLACE(assert_tag, unhex('e28892'), unhex('2d'))
关于mysql - 玛丽亚数据库/MySQL : replacing an unicode character by another one doesn't work (0 rows affected),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54708566/