查出數字字元字段中非數字字元的記錄

2021-05-25 03:00:38 字數 1315 閱讀 4184

最近,將原來的數字符欄位轉換為數字時,總報錯誤:無效數字。

如何找出其中哪些是非數字字元的記錄?比較麻煩的事。下面是用oracle db自帶的函式translate可以找出來的

1.建立測試表

create table testchar(

item_number varchar2(20)

);2.手工插入測試記錄

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 內建函式translate找出非數字字元的記錄

select trim(translate(rtrim(ltrim(item_number)), '#0123456789', '#'))

from testchar

where trim(translate(rtrim(ltrim(item_number)), '#0123456789', '#')) is not null;

查出數字字元字段中非數字字元的記錄

最近,將原來的數字符欄位轉換為數字時,總報錯誤 無效數字。如何找出其中哪些是非數字字元的記錄?比較麻煩的事。下面是用oracle db自帶的函式translate可以找出來的 1.建立測試表 create table testchar item number varchar2 20 2.手工插入測試...

1132 數字字元統計

time limit 1 sec memory limit 128 mb submit 3906 solved 2078 submit status web board 對於給定的乙個字串,統計其中數字字元出現的次數。字串長度不超過1000.輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後...

數字字元 解題思路

在十進位制表示中,任意乙個正整數都可以用字元 0 9 表示出來。但是當 0 9 這些字元每種字元的數量有限時,可能有些正整數就無法表示出來了。比如你有兩個 1 乙個 2 那麼你能表示出11,12,121等等,但是無法表示出10,122,200等數。現在你手上擁有一些字元,它們都是 0 9 的字元。你...