1. 程式人生 > 其它 >Oracle的substr、trim函式

Oracle的substr、trim函式

substr 函式

格式1: substr(string string, int a, int b);

1、string 需要擷取的字串 
2、a 擷取字串的開始位置(注:當a等於0或1時,都是從第一位開始擷取)
3、b 要擷取的字串的長度
select substr('helloworld','0','4') as 結果 from dual; hell
select substr('helloworld','1','4') as 結果 from dual; hell
select substr('helloworld','2','4') as 結果 from dual; ello

格式2:substr(string string, int a) ;

1、string 需要擷取的字串
2、a 可以理解為從第a個字元開始擷取後面所有的字串。
select substr('helloworld','0') as 結果 from dual; helloworld
select substr('helloworld','1') as 結果 from dual; helloworld
select substr('helloworld','2') as 結果 from dual; elloworld

oracle中0、1都從第一個開始

如果a為負數,則b失效,從後面開始數

select substr('helloworld','-1') as 結果 from dual; d
select substr('helloworld','-1','4') as 結果 from dual; d
兩者結果都為d

trim函式

1.rtrim 右側開始,包含’1253'中任意一個都刪除

select rtrim('5151561651','1253') as 結果 from dual; 51515616

2.ltrim 左側開始,包含’1253'中任意一個都刪除

select ltrim('5151561651','1253') as 結果 from dual; 61651

3.trim 刪除兩側空格

select trim(' 1253 ') as 結果 from dual; 1253

4.從兩側開始,與both一致

select trim('2'from '22342') as 結果 from dual; 34
select trim(both '2'from '22342') as 結果 from dual; 34

5.leading 從頭部

select trim(leading '2'from '22342') as 結果 from dual; 342

6.trailing 從尾部

select trim(trailing '2'from '22342') as 結果 from dual; 342