天天看點

oracle易忘函數用法(2)

INITCAP()

c1為一字元串。函數将每個單詞的第一個字母大寫其它字母小寫傳回。單詞由空格,控制字元,标點符号限制。

<col>

select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici

INSTR(,[,[,]])

c1,c2均為字元串,i,j為整數。函數傳回c2在c1中第j次出現的位置,搜尋從c1的第i個字元開始。當沒有發現需要的字元時傳回0,如果i為負數,那麼搜尋将從右到左進行,但是位置的計算還是從左到右,i和j的預設值為1。

select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select

INSTR('Mississippi','i',-2,3) from dualINSTR('MISSISSIPPI','I',3,3)2

INSTRB(,[,i[,j])

與INSTR()函數一樣,隻是他傳回的是位元組,對于單位元組INSTRB()等于INSTR()。

LENGTH()

c1為字元串,傳回c1的長度,如果c1為null,那麼将傳回null值。

select LENGTH('Ipso Facto') ergo from dualergo10

LENGTHb()

與LENGTH()一樣,傳回位元組。

lower()

傳回c的小寫字元,經常出現在where子串中。

select LOWER(colorname) from

itemdetail WHERE LOWER(colorname) LIKE '%white%'COLORNAMEWinterwhite

LPAD(,[,])

c1,c2均為字元串,i為整數。在c1的左側用c2字元串補足緻長度i,可多次重複,如果i小于c1的長度,那麼隻傳回i那麼長的c1字元,其他的将被截去。c2的預設值為單空格,參見RPAD。

select LPAD(answer,7,'') padded,

answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe

LTRIM(,)

把c1中最左邊的字元去掉,使其第一個字元不在c2中,如果沒有c2,那麼c1就不會改變。

select LTRIM('Mississippi','Mis') from dualLTRppi

RPAD(,[,])

在c1的右側用c2字元串補足緻長度i,可多次重複,如果i小于c1的長度,那麼隻傳回i那麼長的c1字元,其他的将被截去。c2的預設值為單空格,其他與LPAD相似。

RTRIM(,)

把c1中最右邊的字元去掉,使其第後一個字元不在c2中,如果沒有c2,那麼c1就不會改變。

REPLACE(,[,])

c1,c2,c3都是字元串,函數用c3代替出現在c1中的c2後傳回。

select REPLACE('uptown','up','down') from dualREPLACEdowntown

STBSTR(,[,])

c1為一字元串,i,j為整數,從c1的第i位開始傳回長度為j的子字元串,如果j為空,則直到串的尾部。

select SUBSTR('Message',1,4) from dualSUBSMess

SUBSTRB(,[,])

與SUBSTR大緻相同,隻是I,J是以位元組計算。