標籤:
CHR,ASCII
文法: CHR(string),ASCII(string)
功能:返回在資料庫字元集中與X擁有等價數值的字元。CHR和ASCII是一對反函數。經過CHR轉換後的字元再經過ASCII轉換又得到了原來的字元。
例子:SELECT ASCII(‘A‘),ASCII(‘a‘),CHR(‘65‘),CHR(‘97‘) FROM dual;
使用位置:過程性語句和SQL語句。
CONCAT
文法: CONCAT(string1,string2)
功能:返回string1,並且在後面串連string2,其作用和”||”一樣。
例子:select CONCAT(‘aaa‘,‘bbb‘),‘aaa‘||‘bbb‘ from dual;//這兩個結果一樣。
使用位置:過程性語句和SQL語句。
INITCAP
文法:INITCAP(string)
功能:返回字串的每個單詞的第一個字母大寫而單詞中的其他字母小寫string。單詞是用.空格或給字母字元進行分隔。不是字母的字元不變動。
例子:select INITCAP(‘aa|aa‘) from dual;//結果是Aa|Aa
使用位置:過程性語句和SQL語句。
LTRIM
文法:LTRIM(string1,string2)
功能:返回刪除從左邊算起出現在string2中的字元的string1。String2被預設設定為單個的空格。資料庫將掃描string1,從最左邊開始。當遇到不在string2中的第一個字元,結果就被返回了。LTRIM的行為方式與RTRIM很相似。
例子:select LTRIM(‘abcdab‘,‘ab‘) from dual;//結果是cdab
select LTRIM(‘baabcdab‘,‘ab‘) from dual;//結果是cdba
select LTRIM(‘dbaabcdab‘,‘ab‘) from dual;//結果是dbaabcdab
使用位置:過程性語句和SQL語句。
REPLACE,TRANSLATE
文法:REPLACE(string,search_str,replace_str),TRANSLATE(string,from_str,to_str)
功能:把string中的所有的子字串search_str用可選的replace_str替換,如果沒有指定replace_str,所有的string中的子字串search_str都將被刪除。REPLACE是TRANSLATE所提供的功能的一個子集。
例子:select REPLACE(‘adfasdadf‘,‘a‘,‘-‘),Translate(‘adfasdadf‘,‘a‘,‘-‘) from dual;//結果都是-df-sd-df
使用位置:過程性語句和SQL語句。
RPAD,LPAD
文法:RPAD(string1,x[,string2]),LPAD(string1,x[,string2])
功能:返回在X 字元長度的位置上插入一個string2中的字元的string1。如果string2的長度要比X字元少,就按照需要進行複製。如果string2多於 X字元,則僅string1前面的X各字元被使用。如果沒有指定string2,那麼使用空格進行填充。X是使用顯示長度可以比字串的實際長度要長。 RPAD的行為方式與LPAD很相似,除了它是在右邊而不是在左邊進行填充。
例子:SELECT LPAD(‘liunan86786786786‘,10,‘*‘) 去掉字元長度後左側填充指定字元,
RPAD(‘liunan‘,10,‘*‘) 去掉字元長度後左側填充指定字元,
RPAD(LPAD(‘liunan‘,10,‘*‘),14,‘*‘) 搭配使用左右填充
FROM dual;
使用位置:過程性語句和SQL語句。
SUBSTR
文法: SUBSTR(string,a[,b])
功能: 返回從字母為值a開始b個字元長的string的一個子字串.如果a是0,那麼它就被認為從第一個字元開始.如果是正數,返回字元是從左邊向右邊進行計算的.如果b是負數,那麼返回的字元是從string的末尾開始從右向左進行計算的.如果b不存在,那麼它將預設的設定為整個字串.如果b小於1,那麼將返回NULL.如果a或b使用了浮點數,那麼該數值將在處理進行以前首先被卻為一個整數.
例子:SELECT SUBSTR(‘adfadsfasd‘,4) from dual;//結果是adsfasd
SELECT SUBSTR(‘adfadsfasd‘,-4) from dual;//結果是fasd
使用位置:過程性語句和SQL語句。
UPPER,LOWER
文法: UPPER(string),LOWER(string)
功能: 返回大寫的string.不是字母的字元不變.如果string是CHAR資料類型的,那麼結果也是CHAR類型的.如果string是VARCHAR2類型的,那麼結果也是VARCHAR2類型的.
例子:SELECT UPPER(‘adfa‘),LOWER(‘ADFA‘) FROM dual;
使用位置: 過程性語句和SQL語句。
INSTR,INSTRB
文法: INSTR(string1, string2[a,b]),INSTRB(string1, string2[a,[b]])
功能: 得到在string1中包含string2的位置. string1時從左邊開始檢查的,開始的位置為a,如果a是一個負數,那麼string1是從右邊開始進行掃描的.第b次出現的位置將被返回. a和b都預設設定為1,這將會返回在string1中第一次出現string2的位置.如果string2在a和b的規定下沒有找到,那麼返回0.位置的計算是相對於string1的開始位置的,不管a和b的取值是多少.
INSTRB 和INSTR相同,只是操作的對參數字元使用的位置的是位元組.
例子:select instr(‘abcedfghedfghijk‘,‘edf‘,1,2) from dual;//結果是9
使用位置: 過程性語句和SQL語句。
LENGTH,LENGTHB
文法: LENGTH(string),LENGTHB(string)
功能: 返回string的位元組單位的長度.CHAR數值是填充空格類型的,如果string由資料類型CHAR,它的結尾的空格都被計算到字串長度中間.如果string是NULL,返回結果是NULL,而不是0.
LENGTHB返回以位元組為單位的string的長度.對於單一位元組字元集LENGTHB和LENGTH是一樣的.
例子:SELECT LENGTH(‘adsfad‘) FROM DUAL;
使用位置: 過程性語句和SQL語句。
Oracle字元函數