ORALCE內置函數

Oracle內置SQL函數-分類整理大全-1 收藏
 
這些函數全都接收的是字符族類型的參數(CHR除外)並且返回字符值.除了特別說明的之外,這些函數大部分返回VARCHAR2類型的數值.字符函數的返回類型所受的限制和基本數據庫類型所受的限制是相同的,比如: VARCHAR2數值被限制爲2000字符(ORACLE 8中爲4000字符),而CHAR數值被限制爲255字符(在ORACLE8中是2000).當在過程性語句中使用時,它們可以被賦值給VARCHAR2或者CHAR類型的PL/SQL變量.
 
ASCII
語法:ascii(char c)
功能:返回一個字符串的第一個字符的ASCII碼,他的逆函數是CHR()
使用位置:過程性語句和SQL語句。
select ascii('羅') from dual;
select chr(49886) from dual;
 
CHR
語法: chr(x)
功能:返回在數據庫字符集中與X擁有等價數值的字符。CHR和ASCII是一對反函數。經過CHR轉換後的字符再經過ASCII轉換又得到了原來的字符。
使用位置:過程性語句和SQL語句。
 
CONCAT
語法: CONCAT(c1,c2)
功能: c1,c2均爲字符串,函數將c2連接到c1的後面,如果c1爲null,將返回c2.如果c2爲null,則返回c1,如果c1、c2都爲null,則返回null,他和操作符||返回的結果相同.
使用位置:過程性語句和SQL語句。
 
INITCAP
語法:INITCAP(string)
功能:返回字符串的每個單詞的第一個字母大寫而單詞中的其他字母小寫的string。單詞是用.空格或給字母數字字符由空格,控制字符,標點符號進行分隔。不是字母的字符不變動。      
使用位置:過程性語句和SQL語句。
select INITCAP('luo,jia,you')from dual;
select INITCAP('luo jia you')from dual;
LTRIM
語法:LTRIM(string1,string2)
功能:返回刪除從左邊算起出現在string2中的字符的string1。String2被缺省設置爲單個的空格。數據庫將掃描string1,從最左邊開始。當遇到不在string2中的第一個字符,結果就被返回了。LTRIM的行爲方式與RTRIM很相似。
使用位置:過程性語句和SQL語句。
 
LOWER
語法:LOWER(string)
功能:返回字符串,並將所有的字符小寫
使用位置:過程性語句和SQL語句。
 
NLS_INITCAP
語法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每個單詞第一個字母大寫而單詞中的其他字母小寫的string,nlsparams
指定了不同於該會話缺省值的不同排序序列。如果不指定參數,則功能和INITCAP相同。Nlsparams可以使用的形式是:
‘NLS_SORT=sort’
這裏sort制訂了一個語言排序序列。
使用位置:過程性語句和SQL語句。
 
NLS_LOWER
語法:NLS_LOWER(string[,nlsparams])
功能:返回字符串中的所有字母都是小寫形式的string。不是字母的字符不變。
      Nlsparams參數的形式與用途和NLS_INITCAP中的nlsparams參數是相同的。如果nlsparams沒有被包含,那麼NLS_LOWER所作的處理和LOWER相同。
使用位置;過程性語句和SQL語句。
 
NLS_UPPER
語法:nls_upper(string[,nlsparams])
功能:返回字符串中的所有字母都是大寫的形式的string。不是字母的字符不變。nlsparams參數的形式與用途和NLS_INITCAP中的相同。如果沒有設定參數,則NLS_UPPER功能和UPPER相同。
使用位置:過程性語句和SQL語句。
 
REPLACE
語法:REPLACE(string,search_str[,replace_str])
功能:把string中的所有的子字符串search_str用可選的replace_str替換,如果沒有指定replace_str,所有的string中的子字符串search_str都將被刪除。REPLACE是TRANSLATE所提供的功能的一個子集。
使用位置:過程性語句和SQL語句。
 
RPAD
語法:RPAD(string1,x[,string2])
功能:返回在X字符長度的位置上插入一個string2中的字符的string1。如果string2的長度要比X字符少,就按照需要進行復制。如果string2多於X字符,則僅string1前面的X各字符被使用。如果沒有指定string2,那麼使用空格進行填充。X是使用顯示長度可以比字符串的實際長度要長。RPAD的行爲方式與LPAD很相似,除了它是在右邊而不是在左邊進行填充。
使用位置:過程性語句和SQL語句。
 
LPAD
語法:LPAD(string1,x[,string2])
功能:返回在X字符長度的位置上插入一個string2中的字符的string1。如果string2的長度要比X字符少,就按照需要進行復制。如果string2多於X字符,則僅string1前面的X各字符被使用。如果沒有指定string2,那麼使用空格進行填充。X是使用顯示長度可以比字符串的實際長度要長。RPAD的行爲方式與LPAD很相似,除了它是在右邊而不是在左邊進行填充。
String1,string2均爲字符串,x爲整數。在string1的左側用string2字符串補足致長度x,可多次重複,如果x小於string1的長度,那麼只返回string1中左側x個字符長的字符串,其他的將被截去。String2的缺省值爲單空格
使用位置:過程性語句和SQL語句。
select LPAD('123',8,'0') from dual;   -- 00000123
select LPAD('123456789',8,'0') from dual;         --12345678
 
RTRIM
語法: RTRIM(string1,[,string2])
功能: 返回刪除從右邊算起出現在string1中出現的字符string2. string2被缺省設置爲單個的空格.數據庫將掃描string1,從右邊開始.當遇到不在string2中的第一個字符,結果就被返回了RTRIM的行爲方式與LTRIM很相似.
使用位置:過程性語句和SQL語句。
 
SOUNDEX
語法: SOUNDEX(string)
功能: 返回string的聲音表示形式.這對於比較兩個拼寫不同但是發音類似的單詞而言很有幫助. 返回與string發音相似的詞
使用位置:過程性語句和SQL語句。
 
SUBSTR
語法: SUBSTR(string,a[,b])
功能: 返回從字母爲值a開始b個字符長的string的一個子字符串.如果a是0,那麼它就被認爲從第一個字符開始.如果是正數,返回字符是從左邊向右邊進行計算的.如果b是負數,那麼返回的字符是從string的末尾開始從右向左進行計算的.如果b不存在,那麼它將缺省的設置爲整個字符串.如果b小於1,那麼將返回NULL.如果a或b使用了浮點數,那麼該數值將在處理進行以前首先被卻爲一個整數.
使用位置:過程性語句和SQL語句。
SUBSTRB
語法: SUBSTRB(string,a[,b])
功能: 與SUBSTR大致相同,只是a,b是以字節計算
使用位置:過程性語句和SQL語句。
 
TRANSLATE
   語法: TRANSLATE(string,from_str,to_str)
   功能: 返回將所出現的from_str中的每個字符替換爲to_str中的相應字符以後的string. TRANSLATE是REPLACE所提供的功能的一個超集.如果from_str比to_str長,那麼在from_str中而不在to_str中而外的字符將從string中被刪除,因爲它們沒有相應的替換字符. to_str不能爲空.Oracle把空字符串認爲是NULL,並且如果TRANSLATE中的任何參數爲NULL,那麼結果也是NULL.
使用位置:過程性語句和SQL語句。
select TRANSLATE('fumble','umf','abc') test from dual; --cabble
select TRANSLATE('fumble','fu','abcdd') test from dual; --abmble
 
TRIM
   語法: TRIM(string)
   功能: 刪除string字符串前後的空格
使用位置:過程性語句和SQL語句。
 
UPPER
語法: UPPER(string)
功能: 返回大寫的string.不是字母的字符不變.如果string是CHAR數據類型的,那麼結果也是CHAR類型的.如果string是VARCHAR2類型的,那麼結果也是VARCHAR2類型的.
使用位置: 過程性語句和SQL語句。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jimung/archive/2008/03/10/2164672.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章