資源描述:
《oracle函數(shù)介紹著名函數(shù)之單值函數(shù)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、ORACLE函數(shù)介紹第一篇著名函數(shù)之單值函數(shù)2007.8.13注:N表示數(shù)字型,C表示字符型,D表示日期型,[]表示內(nèi)中參數(shù)可被忽略,fmt表示格式。 單值函數(shù)在查詢中返回單個值,可被應用到select,where子句,startwith以及connectby子句和having子句。(一).數(shù)值型函數(shù)(NumberFunctions)數(shù)值型函數(shù)輸入數(shù)字型參數(shù)并返回數(shù)值型的值。多數(shù)該類函數(shù)的返回值支持38位小數(shù)點,諸如:COS,COSH,EXP,LN,LOG,SIN,SINH,SQRT,TAN,andTANH支持36位小數(shù)點。ACOS,ASI
2、N,ATAN,andATAN2支持30位小數(shù)點。1、MOD(n1,n2)返回n1除n2的余數(shù),如果n2=0則返回n1的值。例如:SELECTMOD(24,5)FROMDUAL;2、ROUND(n1[,n2])返回四舍五入小數(shù)點右邊n2位后n1的值,n2缺省值為0,如果n2為負數(shù)就舍入到小數(shù)點左邊相應的位上(雖然oracledocuments上提到n2的值必須為整數(shù),事實上執(zhí)行時此處的判斷并不嚴謹,即使n2為非整數(shù),它也會自動將n2取整后做處理,但是我文檔中其它提到必須為整的地方需要特別注意,如果不為整執(zhí)行時會報錯的)。例如:SELECTROU
3、ND(23.56),ROUND(23.56,1),ROUND(23.56,-1)FROMDUAL;3、TRUNC(n1[,n2]返回截尾到n2位小數(shù)的n1的值,n2缺省設置為0,當n2為缺省設置時會將n1截尾為整數(shù),如果n2為負值,就截尾在小數(shù)點左邊相應的位上。例如:SELECTTRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1)FROMDUAL;(二).字符型函數(shù)返回字符值(CharacterFunctionsReturningCharacterValues) 該類函數(shù)返回與輸入類型相同的類型。l返回的C
4、HAR類型值長度不超過2000字節(jié);l返回的VCHAR2類型值長度不超過4000字節(jié);如果上述應返回的字符長度超出,oracle并不會報錯而是直接截斷至最大可支持長度返回。l返回的CLOB類型值長度不超過4G;對于CLOB類型的函數(shù),如果返回值長度超出,oracle不會返回任何錯誤而是直接拋出錯誤。1、LOWER(c)將指定字符串內(nèi)字符變?yōu)樾懀С諧HAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB類型例如:SELECTLOWER('WhaTistHis')FROMDUAL;2、UPPER(c)將指定字符串內(nèi)字符
5、變?yōu)榇髮懀С諧HAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB類型[三思筆記]-Oracle函數(shù)介紹--著名及非著名函數(shù)http://www.5ienet.com/QQ:5454589君三思例如:SELECTUPPER('WhaTistHis')FROMDUAL;1、LPAD(c1,n[,c2])返回指定長度=n的字符串,需要注意的有幾點:l如果nc1.lengthandc2isnull,以空格從左向右補充字符長度至n并返回;l如果n>c1.length
6、andc2isnotnull,以指定字符c2從左向右補充c1長度至n并返回;例如:SELECTLPAD('WhaTistHis',5),LPAD('WhaTistHis',25),LPAD('WhaTistHis',25,'-')FROMDUAL;最后大家再猜一猜,如果n<0,結果會怎么樣2、RPAD(c1,n[,c2])返回指定長度=n的字符串,基本與上同,不過補充字符是從右向左方向正好與上相反;例如:SELECTRPAD('WhaTistHis',5),RPAD('WhaTistHis',25),RPAD('WhaTistHis',25,
7、'-')FROMDUAL;3、TRIM([[LEADING
8、
9、TRAILING
10、
11、BOTH]c2FROM]c1)哈哈,被俺無敵的形容方式搞暈頭了吧,這個地方還是看圖更明了一些??雌饋砗軓碗s,理解起來很簡單:l如果沒有指定任何參數(shù)則oracle去除c1頭尾空格例如:SELECTTRIM('WhaTistHis')FROMDUAL;l如果指定了c2參數(shù),則oracle去掉c1頭尾c2(這個建議細致測試,有多種不同情形的喲)例如:SELECTTRIM('W'FROM'WhaTistHiswW')FROMDUAL;l如果指定了leading參數(shù)則會去
12、掉c1頭部c2例如:SELECTTRIM(leading'W'FROM'WhaTistHiswW')FROMDUAL;l如果指定了trailing參數(shù)則會去掉c1尾