首先想到的就是contains,contains用法如下:
select * from students where contains(address, 'beijing')
但是,使用contains謂詞有個條件,那就是列要建立索引,也就是說如果上面語句中students表的address列沒有建立索引,那麼就會報錯。
好在我們還有另外一個辦法,那就是使用instr,instr的用法如下:
select * from students where instr(address, 'beijing') > 0
另外,還有個笨辦法,那就是使用like,說到這裡大家應該知道怎麼做了吧:
select * from students where address like '%beijing%'
INSTR(C1,C2,I,J)
在一個字符串中搜索指定的字符,返回發現指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的開始位置,默認為1
J 出現的位置,默認為1
SQL> select instr('oracle traning','ra',1,2) instring from dual;INSTRING
---------
9你可以這樣做判斷if instr('1356',lx,1,1) >0 then.....else.....end if;
declare aa varchar2 := 'wkressssdfdf';
begin
if instr(aa,'s')>0 then
dbms_output.put_line('有s字符');
else
dbms_output.put_line('沒有s字符');
end if;
end;