1. 程式人生 > >oracle clob模糊查詢

oracle clob模糊查詢

做一個例子,備忘:
使用oracle中內建函式dbms_lob.instr()查詢clob型別的字串

DBMS_LOB.INSTR (
   lob_loc    IN   BLOB,
   pattern    IN   RAW,
   offset     IN   INTEGER := 1,
   nth        IN   INTEGER := 1)
  RETURN INTEGER;

DBMS_LOB.INSTR (
   lob_loc    IN   CLOB      CHARACTER SET ANY_CS,
   pattern    IN   VARCHAR2  CHARACTER SET
lob_loc%CHARSET, offset IN INTEGER := 1, nth IN INTEGER := 1) RETURN INTEGER; DBMS_LOB.INSTR ( file_loc IN BFILE, pattern IN RAW, offset IN INTEGER := 1, nth IN INTEGER := 1) RETURN INTEGER;

語法:
INSTR(源字串, 目標字串, 起始位置, 匹配序號)
源字串:字串或者列
目標字串:要定位的字串
起始位置:開始的位置
匹配序號:目標字串第幾次出現
注意:開始位置是從1開始的
0開始是查不出來的:

select * from table t where dbms_lob.instr(t.name,'xxx',1,1)>0;

返回值:
當目標字串沒有在源字串中找到,返回0;當源字串或目標字串為null,則返回null;
其他情況則返回目標字串在源字串中的其實位置,此函式將返回模式中第n個模式的匹配位置,從指定的偏移開始。