Oracle中INSTR函數和SUBSTR函數

來源:互聯網
上載者:User

Oracle中INSTR函數和SUBSTR函數

1、INSTR函數

文法:
instr( string1, string2 [, start_position [, nth_appearance ] ] )
參數:
string1:源字串,要在此字串中尋找。
string2:要在string1中尋找的字串.
start_position:代表string1 的哪個位置開始尋找。此參數可選,如果省略預設為1. 字串索引從1開始。如果此參數為正,從左至右開始檢索,如果此參數為負,從右至左檢索,返回要尋找的字串在源字串中的開始索引。
nth_appearance:代表要尋找第幾次出現的string2. 此參數可選,如果省略,預設為 1.如果為負數系統會報錯。

範例:
SELECT INSTR('Hello World!','l') FROM dual;
結果:3
SELECT INSTR('Hello World!','l',4,2) FROM dual;
結果:10
--可利用此函數來檢查String1中是否包含String2,如果返回0表示不包含,否則表示包含
SELECT INSTR('Hello World!','World') FROM dual;
結果:7

--假設員工表staff,包含工號,名字,部門,職業等等
--檢索工號分別是’A10001′,’A10002′的員工的名字,部門,職業資訊
SELECT  code , name , dept, occupation FROM staff  WHERE code IN ('A10001','A10002');
或:
SELECT  code , name , dept, occupation FROM staff  WHERE code = 'A10001' OR code = 'A10002';

等效:
SELECT  code , name , dept, occupation FROM staff  WHERE instr('A10001,A10002',code)>0;
備忘:減少單引號的個數

--模糊查詢
SELECT code, name, dept, occupation  FROM staff  WHERE code LIKE '%001%' ;
等效:
SELECT code, name, dept, occupation  FROM staff  WHERE instr(code, '001') > 0;

--------------------------------------分割線 --------------------------------------

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

Oracle空間資料庫函數使用

Oracle 隨機函數 DBMS_RANDOM

--------------------------------------分割線 --------------------------------------

2、SUBSTR函數
文法:
substr( string, start_position, [ length ] )
參數:
string:要截取的字串
start_position:截取開始位置
length:截取長度

範例:
SELECT SUBSTR('Hello World!',3) FROM dual;
結果:llo World!
SELECT SUBSTR('Hello World!',3,6) FROM dual;
結果:llo Wo
SELECT SUBSTR('Hello World!',0) FROM dual;
結果:Hello World!
SELECT SUBSTR('Hello World!',1) FROM dual;
結果:Hello World!
SELECT SUBSTR('Hello World!',-0) FROM dual;
結果:Hello World!
SELECT SUBSTR('Hello World!',-1) FROM dual;
結果:!
SELECT SUBSTR('Hello World!',-5) FROM dual;
結果:orld!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.