从 mysql 数据中删除不可见的退格字符
Posted
技术标签:
【中文标题】从 mysql 数据中删除不可见的退格字符【英文标题】:Remove invisible backspace characters from mysql data 【发布时间】:2017-01-18 03:04:22 【问题描述】:我的数据集中有以下隐形字符
我相信是这个角色
http://www.fileformat.info/info/unicode/char/0008/index.htm
如何删除它?我试过了
UPDATE events SET `value` = TRIM(REPLACE(`value`, CONVERT(char(8) USING hp8), ''))
【问题讨论】:
【参考方案1】:文字退格字符的 mysql 转义序列是 \b
。
请参阅此处的“特殊字符转义序列”:
http://dev.mysql.com/doc/refman/5.7/en/string-literals.html
如果我需要从字符串列中删除该字符,我会使用如下表达式:
REPLACE(foo,'\b','')
在尝试 UPDATE 之前,我会在 SELECT 语句中测试该表达式,例如
SELECT t.foo
, REPLACE(t.foo,'\b','')` AS new_foo
FROM mytable t
WHERE t.foo LIKE '%\b%'
【讨论】:
这似乎影响了很多行,但不幸的是并没有摆脱它:(以上是关于从 mysql 数据中删除不可见的退格字符的主要内容,如果未能解决你的问题,请参考以下文章