oracle中的substr()函數


SUBSTR(cExpression,nStartPosition [,nCharactersReturned])
其中,cExpression指定要從其中返回字符串的字符表達式或備注字段;
nStartPosition用於指定返回的字符串在字符表達式或備注字段中的位置,nCharactersReturned用於指定返回的字符數目,缺省時返回字符表達式的值結束前的全部字符。

 SUBSTR(char A,char B,int C, int D)

  這個函數主要用於字符串的運算,參數A是字符數組或是指向字符串的指針,用於接收字符串,參數B一般也為字符數組或指向字符串的指針,表示要截取字符串的地方,參數C表示從B中截取字符串的起始位置,參數D表示要截取字符串的長度,缺省時返回字符表達式的值結束前B的全部字符。
  上述表達式功能可描述為:從字符串B的第C個字符處開始,截取長度為D的一串字符串,放入字符串數組A中,返回截取的字符串。
  舉例: ch X S[]="abcdefgh" 調用substr(X,S,4,2)后,得到的結果是:"ef"

-- substr

select substr('Hello World', 0, 1) as res from dual; -- H
select substr('Hello World', 1, 1) as res from dual; -- H
-- 0和1都是表示截取的開始位置為第一個字符

 

select substr('Hello World', 2, 4) as res from dual; -- ello
select substr('Hello World', 1, 7) as res from dual; -- Hello W

 

-- 負數(-i)表示截取的開始位置為字符串右端向左數第i個字符
select substr('Hello World', -3, 3) as res from dual; -- rld
select substr('Hello World', -7, 3) as res from dual; -- o W

 

--instr(源字符串,目標字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,從字符的開始,只檢索一次
--instr(string1,string2,index1,index2) 表示:要在string1的index1號位置,開始查找,第index2次,出現的string2
select instr('Hello World','o',2,2) res from dual;--返回8:也就是說:在"Hello World"的第2號位置開始,查找第二次出現的o的位置
select instr('Hello World','w',2,2) res from dual;--返回0:即如果查找不到,則返回0 (區分大小寫的)
select instr('Hello World','W') res from dual;--返回7
select instr('Hello World','Wo') res from dual;--返回7:即"Wo"的W的位置
select instr('Hello World','d',-1,2) res from dual;--返回0:
--空格也是字符。。。。。

 

select * from tablename t where t.field like '%abc%'
select * from tablename t where instr(t.field, 'abc')>0--效果一樣

 

-- oracle 截取字段中空格前的字符

SELECT SUBSTR('AHS1234 3232', 0, INSTR('AHS1234 3232',' ')-1) str FROM dual;

 

以下摘自:https://www.cnblogs.com/wangkang0320/p/6743965.html

字符串 "AAA-BBB" 截取"AAA"  "BBB"

 

select substr('AAA-BBB',1,instr('AAA-BBB','-',-1)-1) 值 from dual;

 

 

select substr('AAA-BBB',instr('AAA-BBB','-',-1)+1) 值 from dual;

 

 

 

 


免責聲明!

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



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