数据库<200b>字符处理

发布时间 2023-11-24 14:54:16作者: chenzechao

1. 在trino执行SQL报错,如下图

image

2. 直接查看值没有什么异常

image

3. 通过将值复制到vim中,发现是特殊字符<200b>导致

image

4. 查看资料,发现有多种处理方式,但均不支持trino

-- replace(所在字段,'\u200b','')
-- 使用trim()方法可以去除掉神奇的空格
-- 使用正则表式进行替换replace(/\t+/g,"")

5. 最后想起正则是通用的,试试用正则处理

select val,regexp_replace(val,'\u200b','') from table_name;

6. 思考

正则是通用的,所有数据库包含其它语言都是通用的,替换字符这种操作可以使用正则做到支持异构数据库。