查出数字字符字段中非数字字符的记录
最近,將原來的數(shù)字符字段轉(zhuǎn)換為數(shù)字時(shí),總報(bào)錯(cuò)誤:無效數(shù)字。
如何找出其中哪些是非數(shù)字字符的記錄?比較麻煩的事。下面是用Oracle DB自帶的函數(shù)translate可以找出來的
1.創(chuàng)建測(cè)試表
Create Table TestChar(
??? ITEM_NUMBER VARCHAR2(20)
);
?
2.手工插入測(cè)試記錄
Insert Into TestChar (ITEM_NUMBER) values ('312');
Insert Into TestChar (ITEM_NUMBER) values ('312');
Insert Into TestChar (ITEM_NUMBER) values ('4412');
Insert Into TestChar (ITEM_NUMBER) values ('152');
Insert Into TestChar (ITEM_NUMBER) values ('162');
Insert Into TestChar (ITEM_NUMBER) values ('172');
Insert Into TestChar (ITEM_NUMBER) values ('142');
Insert Into TestChar (ITEM_NUMBER) values ('142');
Insert Into TestChar (ITEM_NUMBER) values ('112');
Insert Into TestChar (ITEM_NUMBER) values ('1d2');
Insert Into TestChar (ITEM_NUMBER) values ('152');
Insert Into TestChar (ITEM_NUMBER) values ('125');
Insert Into TestChar (ITEM_NUMBER) values ('162');
Insert Into TestChar (ITEM_NUMBER) values ('712');
Insert Into TestChar (ITEM_NUMBER) values ('A712');
commit;
?
3.妙用Oracle 內(nèi)置函數(shù)Translate找出非數(shù)字字符的記錄
select trim(translate(RTRIM(LTRIM(ITEM_NUMBER)), '#0123456789', '#'))
? from TestChar
?Where trim(translate(RTRIM(LTRIM(ITEM_NUMBER)), '#0123456789', '#')) is not null;
轉(zhuǎn)載于:https://www.cnblogs.com/zzjhn/p/5130999.html
總結(jié)
以上是生活随笔為你收集整理的查出数字字符字段中非数字字符的记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL泛型算法总结
- 下一篇: 公司消费一卡通“变法”记