PostgreSQL查找换行符和回车符,替换特殊字符,换行符和回车符
1、查找数据
– 使用chr(13)和chr(10)进行查询
-- 方式1
SELECT * from 数据表名称 WHERE "字段" like '%'||chr(13)||'%' or "字段" like '%'||chr(10)||'%';
-- 方式2
SELECT * from 数据表名称 WHERE "字段" ~* chr(13) or "字段" ~* chr(10) ;
– 查询chr(13)和chr(10)都可以将数据查询出来的
–方式1
SELECT * from 数据表名称 WHERE "字段" like '%'||chr(13)||'%';
SELECT * from 数据表名称 WHERE "字段" like '%'||chr(10)||'%';
–方式2
SELECT * from 数据表名称 WHERE "字段" ~* chr(13) ;
SELECT * from 数据表名称 WHERE "字段" ~* chr(10) ;
-- chr(int) 将数字转换成字符;例如,select chr(65); A
2、替换数据
-- 方式 1
with newstring as (
-- 替换字符之后的列 addressnew
select id,address,replace(replace(address, CHR(13), ''), CHR(10), '') addressnew from 数据库表 kks where kks.address ~* CHR(10) or kks.address ~* CHR(13)
)
update 数据库表
set address=newstring.addressnew
from newstring where 数据库表.id=newstring.id
-- 方式2
update 数据库表
set address=replace(replace(address, CHR(13), ''), CHR(10), '')
where address ~* CHR(10) or address ~* CHR(13)
3、其他,字符编码来源
回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed
符号 | ASCII码 | 意义 |
---|---|---|
\n | 10 | 换行NL |
\r | 13 | 回车CR |