数字 2 的ascii是 50 于是使用以下sql能够查询之
select * from t where t.column1 like ''||char(50)||'' 同理
'||chr(50)||'
oracle中去掉文本中的换行符、回车符、制表符小结
一、特殊符号ascii定义
制表符 chr(9)
换行符 chr(10)
回车符 chr(13)
二、嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行
select REPLACE(gg, chr(10), '') from dual
要注意chr(13) | | chr(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况
select translate(string,chr(13)||chr(10),',') from dual;
select * from org o where o.orgname like '%'||chr(13)||'%'
or o.orgname like '%'|| chr(10 )||'%' or o.orgname like '%'|| chr(9) ||'%'
例如我在处理数据时发现如下的数据
select distinct summary,replace((substr(summary,1,2)),chr(10),'') connect_column from prioryear_adam
取前两个字符正好取到【换行10】【回车13】
这里的summary 看着是以空格开头的,但是复制这个字段的内容才发现,是以换行符开始,换行符+空格+2004+句号+3 这样的一个神奇的数据
那么得处理之
select summary,replace(replace(substr(summary,1,2),chr(13),' '),chr(10),' ') connect_column from prioryear_adam t where t.summary like '%'||chr(13)||'%';
就可以把前边得换行和回车给替换成两个空格了