oracle之关于字段中含有空格的处理
select length(sfz),sfz from dw_2;
8292882
6281001
7272781
18 320122198701xxx
6 9210k
SELECT*FROM dw_2 WHERE REGEXP_LIKE(sfz, '( )+'); --包含了所有含有空格的列
SELECT*FROM dw_2 WHERE length(sfz) > length(trim(sfz)); --没有检索出中间含有空格的列regexp like
SELECT*FROM dw_2 WHERE substr(sfz,-1)=''; --只检索出字段尾有空格的列
SELECT INSTR(sfz,'', 1, 1),sfz FROM dw_2 WHERE REGEXP_LIKE(sfz, '( )+'); --检索出出现空格所在的字符串位置
SELECT INSTR(sfz,'', 1, 1),sfz,substr(sfz,0,INSTR(sfz,'', 1, 1)) FROM dw_2 WHERE REGEXP_LIKE(sfz, '( )+');
SELECT INSTR(sfz,'', 1, 1),sfz,substr(sfz,0,INSTR(sfz,'', 1, 1)),substr(sfz,INSTR(sfz,'', 1, 1)+1,100) FROM dw_2 WHERE REGEXP_LIKE(sfz, '( )+');
在⼯作中遇到了⼀些字符串中含有空格的处理⼩结,望⾃⼰能时常记住!
Not in 对null敏感,这意味着not in后⾯的⼦查询⾥⼀旦有null值时则整个sql执⾏结果就会为null,此时可在not in 后⾯⼦句中加上对应字段 is not null,或者⽤not exists来查询
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论