公司的一个区号的表
正常数字只有3位、4位,但列长度却又8、9、10的我已经
替换空格
trim(area)
replace(area,' ','')
回车换行
replace(area,chr(10),'')
replace(area,char(13),'')
全角转半角
To_single_byte(area)还是发现长度有超出的
大家列举下还有哪些看不见的字符串、要如何替换以上问题有没一步到位的解决方法?
正常数字只有3位、4位,但列长度却又8、9、10的我已经
替换空格
trim(area)
replace(area,' ','')
回车换行
replace(area,chr(10),'')
replace(area,char(13),'')
全角转半角
To_single_byte(area)还是发现长度有超出的
大家列举下还有哪些看不见的字符串、要如何替换以上问题有没一步到位的解决方法?
如果是char,就不会有不同的长度了
现在是length后,从3到10都有
select dump(area) from 区号表 where length(area)>4;
有没一步到位的替换,将长度超出的都转为符合的呢
使用正则表达式
SELECT regexp_replace(area, '[^[:digit:]]', '') FROM 区号表 where length(area)>4;
如果要修改,
update 区号表 set area=regexp_replace(area, '[^[:digit:]]', '') where length(area)>4;
明天到公司实验下,看成不成
先结贴