Oracle只查詢包含純數字的記錄

2021-09-09 08:49:33 字數 661 閱讀 2288

看一下**:

and (length(t.column) = length(regexp_replace(t.column, '[^0-9]')) and regexp_replace(t.column, '[^0-9]') >=#)

and (length(t.column) = length(regexp_replace(t.column, '[^0-9]')) and regexp_replace(t.column, '[^0-9]') <=#)

regexp_replace

是乙個支援正則的字串替換函式。只指定前兩個引數,即源字串,和正規表示式,會返回匹配的結果。

比如select regexp_replace('abc123a4','[^0-9]') from dual;

結果:length是乙個返回字串長度的函式

length(t.column) = length(regexp_replace(t.column, '[^0-9]'))

表示原字段值的長度和匹配的數字長度相等,即查詢只包含數字的結果。

後面的regexp_replace(t.column, '[^0-9]') >=#)

是範圍查詢。

oracle 正規表示式(一)

regexp_replace

oracle 檢視某個不是純數字的字段

select trim translate rtrim ltrim project 0123456789 from v stat info where trim translate rtrim ltrim detail code 0123456789 is not null trim去除指定字元的前...

只包含因子2 3 5的數

k的因子中只包含2 3 5。滿足條件的前10個數是 2,3,4,5,6,8,9,10,12,15。所有這樣的k組成了乙個序列s,現在給出乙個數n,求s中 給定數的最小的數。例如 n 13,s中 13的最小的數是15,所以輸出15。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t ...

oracle 只取字串中的數字

create or replace function getnumber str varchar2 return varchar2 is rstr varchar2 4000 begin if str is null then return null else rstr for i in 1 len...