oracle中的substr 函式

2022-07-17 20:00:18 字數 2670 閱讀 6756

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; --

hselect 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; --

rldselect 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;--

返回7select 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;

以下摘自:

字串 "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;

Oracle的substr和instr函式簡單用法

oracle的substr函式簡單用法 substr 字串,擷取開始位置,擷取長度 返回擷取的字 substr hello world 0,1 返回結果為 h 從字串第乙個字元開始擷取長度為1的字串 substr hello world 1,1 返回結果為 h 0和1都是表示擷取的開始位置為第乙個字...

js中substring和substr函式用法

函式 stringobject.substring start,stop 引數 start 必需。乙個非負的整數,規定要提取的子串的第乙個字元在 stringobject 中的位置。stop 可選。乙個非負的整數,比要提取的子串的最後乙個字元在 stringobject 中的位置多 1。如果省略該引...

substr函式或者substring函式。

開發中,經常進行模糊查詢或者進行擷取字串進行模糊匹配,常用的就是substr函式或者substring函式。使用語法 substr string a,int start substring string a,int start 兩者用法一樣,兩個引數 返回值 string 說明 返回字串a從star...