Oracle中instr函數使用方法


在Oracle中,instr函數返回要截取的字符串在源字符串中的位置。只檢索一次,就是說從字符的開始到字符的結尾就結束
INSTR (源字符串, 目標字符串, 起始位置, 匹配序號)
 
INSTR方法的格式為
INSTR(src, subStr,startIndex, count)
src: 源字符串
subStr : 要查找的子串
startIndex : 從第幾個字符開始,負數表示從右往左查找。(此參數可選,默認為1)
count: 要找到第幾個匹配的序號。(此參數可選,默認為1)
返回值: 子串在字符串中的位置,第1個為1;不存在為0。(特別注意: 如果src為空字符串,返回值為null)。
 

舉例:

scenarioinfo 中有60條數據,其中字段ywwd不為空的有40條(其中包含“積分”的有30條),字段ywwd為空的有20條。

查詢scenarioinfo 表中字段ywwd包含“積分”的語句(返回30條數據):

select id, ywwd from scenarioinfo where instr(ywwd,'積分',1,1) > 0;

查詢scenarioinfo 表中字段ywwd不包含“積分”的語句(這里返回的結果集中不包含ywwd字段為null的結果,返回10條數據):

select id, ywwd from scenarioinfo where instr(ywwd,'積分',1,1) = 0;

如果想返回的結果集中包含ywwd字段為null的,可以這樣寫(返回30條數據):

select id, ywwd from scenarioinfo where instr(ywwd,'積分',1,1) = 0 and ywwd is null;

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM