單行字符串函數(shù)
單行字符串函數(shù)用于操作字符串?dāng)?shù)據(jù),他們大多數(shù)有一個(gè)或多個(gè)參數(shù),其中絕大多數(shù)返回字符串
ascii() c1是一字符串,返回c1第一個(gè)字母的ascii碼,他的逆函數(shù)是chr() select ascii(’’a’’) big_a,ascii(’’z’’) big_z from empbig_a big_z65 122
chr(<i>)[nchar_cs] i是一個(gè)數(shù)字,函數(shù)返回十進(jìn)制表示的字符,新疆軟件開發(fā)網(wǎng) select chr(65),chr(122),chr(223) from empchr65 chr122 chr223a z b
concat(,) c1,c2均為字符串,函數(shù)將c2連接到c1的后面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1、c2都為null,則返回null。他和操作符||返回的結(jié)果相同 select concat(’’slobo ’’,’’svoboda’’) username from dualusernameslobo syoboda
initcap() c1為一字符串。函數(shù)將每個(gè)單詞的第一個(gè)字母大寫其它字母小寫返回。單詞由空格,控制字符,標(biāo)點(diǎn)符號(hào)限制。 select initcap(’’veni,vedi,vici’’) ceasar from dualceasarveni,vedi,vici
instr(,[,<i>[,]]) c1,c2均為字符串,i,j為整數(shù)。函數(shù)返回c2在c1中第j次出現(xiàn)的位置,搜索從c1的第i個(gè)字符開始。當(dāng)沒有發(fā)現(xiàn)需要的字符時(shí)返回0,如果i為負(fù)數(shù),那么搜索將從右到左進(jìn)行,但是位置的計(jì)算還是從左到右,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()函數(shù)一樣,只是他返回的是字節(jié),對(duì)于單字節(jié)instrb()等于instr()
length() c1為字符串,返回c1的長(zhǎng)度,如果c1為null,那么將返回null值。 select length(’’ipso facto’’) ergo from dualergo10
lengthb() 與length()一樣,返回字節(jié)。
lower() 返回c的小寫字符,經(jīng)常出現(xiàn)在where子串中 select lower(colorname) from itemdetail where lower(colorname) like ’’%white%’’colornamewinterwhite
lpad(,<i>[,]) c1,c2均為字符串,i為整數(shù)。在c1的左側(cè)用c2字符串補(bǔ)足致長(zhǎng)度i,可多次重復(fù),如果i小于c1的長(zhǎng)度,那么只返回i那么長(zhǎng)的c1字符,其他的將被截去。c2的缺省值為單空格,參見rpad。 select lpad(answer,7,’’’’) padded,answer unpadded from question;padded unpadded yes yesno nomaybe maybe
ltrim(,) 把c1中最左邊的字符去掉,使其第一個(gè)字符不在c2中,如果沒有c2,那么c1就不會(huì)改變。 select ltrim(’’mississippi’’,’’mis’’) from dualltrppi
rpad(,<i>[,]) 在c1的右側(cè)用c2字符串補(bǔ)足致長(zhǎng)度i,可多次重復(fù),如果i小于c1的長(zhǎng)度,那么只返回i那么長(zhǎng)的c1字符,其他的將被截去。c2的缺省值為單空格,其他與lpad相似
rtrim(,) 把c1中最右邊的字符去掉,使其第后一個(gè)字符不在c2中,如果沒有c2,那么c1就不會(huì)改變。
replace(,[,]) c1,c2,c3都是字符串,函數(shù)用c3代替出現(xiàn)在c1中的c2后返回。 select replace(’’uptown’’,’’up’’,’’down’’) from dualreplacedowntown
stbstr(,<i>[,]) c1為一字符串,i,j為整數(shù),從c1的第i位開始返回長(zhǎng)度為j的子字符串,如果j為空,則直到串的尾部。 select substr(’’message’’,1,4) from dualsubsmess
substrb(,<i>[,]) 與substr大致相同,只是i,j是以字節(jié)計(jì)算。
soundex() 返回與c1發(fā)音相似的詞 select soundex(’’dawes’’) dawes soundex(’’daws’’) daws, soundex(’’dawson’’) from dualdawes daws dawsond200 d200 d250
translate(,,) 將c1中與c2相同的字符以c3代替 select translate(’’fumble’’,’’uf’’,’’ar’’) test from dualtextramble
trim([[]] from c3) 將c3串中的第一個(gè),最后一個(gè),或者都刪除。 select trim(’’ space padded ’’) trim from dual trimspace padded
upper() 返回c1的大寫,常出現(xiàn)where子串中select name from dual where upper(name) like ’’ki%’’nameking
|