当前位置:首页 > 站长知识 > 数据库 > 正文内容

oracle去除字符串中制表符、换行、回车及空格的方法代码

2024-11-30数据库37

小知识

1.chr(9)  制表符
2.chr(10) 换行
3.chr(13) 回车
4.chr(32) 空格

sql样例

1
2
select replace(replace(replace(replace('
换行回车, 空格, 制表,前后空格 ',chr(9),''),chr(10),''),chr(13),''),chr(32),'') str from dual;

ִ执行结果

换行回车,空格,制表,前后空格

ֻ只去除字段前后空格

1
2
3
4
5
6
7
只去除字符串前后空格可以用trim()函数
 
sql样例
select trim('  "只去除字符串前后空格"  ') from dual;
 
执行结果
"只去除字符串前后空格"

附:oracle插入、替换回车换行\r\n

回车是光标回到当前行的开头,换行是光标停在当前位置的下一行,结合就是下一行的开头。

如果直接插入\r\n,查出来的数据就是"\r\n",是'\''r''\''n'4个字符。

oracle中回车是chr(13)--\r,换行符是chr(10)--\n。

插入:

1
insert into testtable(id, name, val, memo) values (1, 'testinsert1', '123'||chr(13)||chr(10)||'456', '测试插入回车换行');

替换("\r\n"换成chr(13)chr(10) ):

1
update testtable t set t.val = replace(t.val,'\r\n', chr(13)||chr(10) ) where t.name = 'testreplace1';