oracle怎麼查出欄位中含有特殊字元的資料?表名 tabl

時間 2021-10-14 22:25:42

1樓:匿名使用者

select * from table t where regexp_like(t.col,'特殊字元')

2樓:匿名使用者

select * from table t where t.col like '%m%' escape 『m'

使用escape定義轉義符

在使用like關鍵字進行模糊查詢時,「%」、「_」和「」單獨出現時,會被認為是萬用字元。為了在字元資料型別的列中查詢是否存在百分號(%)、下劃線(_)或者方括號()字元,就需要有一種方法告訴dbms,將like判式中的這些字元看作是實際值,而不是萬用字元。關鍵字escape允許確定一個轉義字元,告訴dbms緊跟在轉義字元之後的字元看作是實際值。

如下面的表示式:

like '%m%' escape 『m』

使用escape關鍵字定義了轉義字元「m」,告訴dbms將搜尋字串「%m%」中的第二個百分符(%)作為實際值,而不是萬用字元。當然,第一個百分符(%)仍然被看作是萬用字元,因此滿足該查詢條件的字串為所有以%結尾的字串。

oracle怎麼在字元欄位中查出只包含數字的資料

3樓:匿名使用者

如果你的條件不允許你寫plsql函式的話,就用正規表示式,如下:

select *

from table

where regexp_substr(check, '^[0-9\.\-]\d*\.\d+$') is not null;

4樓:

你應該希望提取的欄位只要含有數字就提出,剔除空和不含數字的字串。

select * from table where regexp_substr(check,'[0-9]+') is not null

5樓:bolibei玻璃

declare   v_length  number default 0;

t_sum    number default 0;

t_num    number default 0;

t_is_num number default 0;

v_str    tmp_xyx26.t2%type;

cursor t_cur is select t2 from tmp_xyx26 where regexp_substr(t2, '[0-9]+') is not null;

begin  open t_cur;

loop    fetch t_cur      into v_str;

exit when t_cur%notfound;    t_sum := 0;

select length(v_str) into v_length from dual;

for i in 1 .. v_length loop    select ascii(substr(v_str, i, 1)) into t_is_num from dual;

if t_is_num between 48 and 57 then   select substr(v_str, i, 1) into t_num from dual;

t_sum := t_sum + t_num;

else null;

end if;

end loop;

dbms_output.put_line;

end loop;

close t_cur;

end;

6樓:吾兒樑龍慶

select * from tablename where check<> regexp_replace(check,'[^0-9]');

目前我就想到這個方法

用oracle如何查詢出表中的欄位內容包含另表中的某個欄位的值呢

描述再詳細些,這兩個表的欄位是否以知,確定,如果能確定是哪連個欄位可用如下sql select from table1 where exists select 1from table2 where table1.columa like table2.columb 如果不確定想要所有匹配,那就寫儲存過...

oracle已經建好的表怎麼修改欄位大小

根據欄位型別決定 alter table 表名 modify 欄位名 varchar2 長度 或 alter table 表名 modify 欄位名 number 長度 只能改大。想改小隻能重新建表將資料導到新表,再將舊錶drop掉。 alter table a modify id number 2...

select into怎麼用,oracle 中select into是什麼意思

龍之喵喵豬 elect into語句從一個表中選取資料,然後把資料插入另一個表中。把所有的列插入新表 select into new table name from old tablename select into 語句可用於建立表的備份復件。學習,是指通過閱讀 聽講 思考 研究 實踐等途徑獲得知...