oracle下判斷 欄位中 含 非字元 方法總結

2021-09-19 08:25:44 字數 1144 閱讀 6161

當乙個欄位中,同時存在純數字與字元2種型別資料是,希望能區分開數字與字元。如:判斷欄位中含非字元的數目、判斷欄位中含字元的數目等。
原表資料如圖:

select cp.party_id from cap_partyauth cp

where translate(cp.party_id, 'che0123456789', 'che') is null

執行結果截圖:

語法:translate('char','from_string','to_string')

解釋:將from_string中的每個字元替換為to_string中的相應字元

select cp.party_id from cap_partyauth cp

where regexp_like (cp.party_id, '^[[:digit:]]*$')

執行結果截圖:

語法:regexp_like

create or replace function isnumber(col varchar2) return integer is

i number;

begin

i := to_number(col);

return 1;

exception

when others then

return 0;

end;

select 字段 from 表 where isnumber(字段)=0;

此方法使用to_number()函式結合oracle的異常處理機制,捕捉了非數字情況。當然,前兩種方法也可以封裝成函式來呼叫。

Oracle中判斷字段是否為數字

在我們平常的開發中可能會遇到這樣的問題,就是判斷某一列是否全部由數字組成,我們都知道oracle並沒有給我們提供這樣乙個現成的函式,那麼根據我的經驗我總結了兩個行之有效的方法 列名 column,表名 table 1.使用trim translate函式 select from table wher...

Oracle中判斷字段是否為數字

在我們平常的開發中可能會遇到這樣的問題,就是判斷某一列是否全部由數字程式設計客棧組成,我們都知道oracle並沒有給我們提供這樣乙個現成的函式,那麼根據我的經驗我總結了兩個行之有效的方法 列名 column,表名 table 1.使用trim translate函式 複製 如下 select fro...

oracle欄位中找出欄位中含有非數字的方法

在oracle中字段中找出漢字的方法 可以利用length testname 和lengthb testname 其中length testname 不論數字或者字元都算乙個,而lengthb則不同,比如說testname的值為 54看法12,用length testname 的值為6,而lengt...