oracle 判斷字串是否包含指定內容

2021-09-25 20:35:40 字數 2053 閱讀 2571

如何將表中的包含特殊字元的髒資料查出來?

語法:

instr(string, substring[

]])

引數說明:

第1個引數表示:必選項。將要被檢索的字串,可以是char,varchar2,nchar,nvarchar2,clob或nclob等型別;

第2個引數表示:必選項。將要查詢的字串,可以是char,varchar2,nchar,nvarchar2,clob或nclob等型別;

第3個引數表示:可選項。從字串第幾(start_position)位開始搜尋; 預設值為1;正數,從前往後查詢;負數,從後往前查詢;

返回值:返回substring在string的位置;如果在字串中找不到substring,將返回0。

說明:字串中的第乙個位置是1。

總資料

兩個查詢結果一致,由此可見:

該錶不存在重複資料;

id_card欄位在該錶的資料都是唯一的。

正確實現:

分析:查詢的時候至少要攜帶乙個唯一字段(主鍵或id_card),為什麼?

其一:姓名肯定有重複的,但又不能使用關鍵字union進行去重,會導致資料缺失;

其二:姓名可能包含好幾個特殊字元,每判斷一次,就會疊加一次,會多於實際資料。

方式二:使用like關鍵字實現。 

錯誤方式:

錯在哪?

當髒資料都包含所有特殊字元時,可以使用該方法。

正確方式:

見文末推薦 

oracle判斷是否包含字串

一 oracle判斷是否包含字串的方法 1 contains,contains用法如下 select from students where contains address,beijing 但是,使用contains謂詞有個條件,那就是列要建立索引,也就是說如果上面語句中students表的add...

oracle判斷是否包含字串的方法

首先想到的就是contains,contains用法如下 sql view plain copy select from students where contains address,beijing 但是,使用contains謂詞有個條件,那就是列要建立索引,也就是說如果上面語句中students...

oracle判斷是否包含字串的方法

首先想到的就是contains,contains用法如下 sql view plain copy select from students where contains address,beijing 但是,使用contains謂詞有個條件,那就是列要建立索引,也就是說如果上面語句中students...