Oracle 常用SQL函數
最後更新:2017-02-28
來源:互聯網
上載者:User
oracle|函數 時間:2005-02-18
Oracle的SQL函數分為單行函數和多行函數。單行函數只對單條記錄有效,多行函數對多條記錄有效。
單行函數包括,字元、數字、日期、轉換和普通函數。
字元函數舉例:•
全小寫 LOWER('SQL Course') sql course•
全大寫 UPPER('SQL Course') SQL COURSE
•首字母大寫 INITCAP('SQL Course') Sql Course拼接 CONCAT('Good', 'String') GoodString 取子串 SUBSTR('String',1,3) Str 求長度 LENGTH('String') 6
數字函數舉例:ROUND -- 對數值進行四捨五入操作TRUNC -- 截斷。注意截斷和舍入的位元,可以是負數。ROUND (45.923, 2) 45.92 ROUND (45.923, 0) 46 ROUND (45.923, -1) 50 TRUNC (45.923, 2) 45.92 TRUNC (45.923) 45 TRUNC (45.923, -1) 40
MOD -- 返回兩數相除的餘數
MOD(1600, 300) -- 100
日期函數:•Oracle將日期按照內部格式將日期存成以下七個位元組-世紀、年、月、日、時、分、秒。•在Oracle中日期預設的顯示格式為:DD - MON - YY 。•可以使用系統變數 SYSDATE 擷取系統時間•。查看 SYSDATE時,可以使用虛擬表DUAL。
舉例:求兩個日期間有多少個月份 MONTHS_BETWEEN('01-SEP-95','11-JAN-94') 1.9774194在日期上加指定的月數 ADD_MONTHS('11-JAN-94',6) '11-JUL-94'下一個星期幾是什麼時候 NEXT_DAY('01-SEP-95','FRIDAY') '08-SEP-95'某月最後一天 LAST_DAY('01-SEP-95') '30-SEP-95'
把日期四捨五入到月份 ROUND('25-MAY-95','MONTH') 01-JUN-95 ROUND('25-MAY-95 ','YEAR') 01-JAN-95把日期截斷到月份 TRUNC('25-MAY-95 ','MONTH') 01-MAY-95 TRUNC('25-MAY-95 ','YEAR') 01-JAN-95
轉換函式
TO_CHAR 將數字或日期轉換為字串TO_NUMBER 將字串轉換成數字TO_DATE 將字串轉換成日期在轉換函式中會使用格式串
TO_CHAR(date, 'fmt')格式串包含在''中, 大小寫敏感, 可以是任意有效日期格式格式串:YYYY 表示完整的四位元字年YEAR 表示英文拼字的年MM 表示兩位元字月MONTH 表示英文全拼的年DY 表示三位縮寫的星期DAY 表示英文全拼的星期
一些特殊用法:時間格式 HH24:MI:SS AM 15:45:32 PM在格式串中加入字串 DD " of " MONTH 12 of OCTOBER用尾碼拼出整個日期 ddspth fourteenth
TO_CHAR(number, 'fmt')使用此函數將數字轉換成數字 9 表示數字 0 強製為0 $ 設定貨幣符號 L 使用當前字元集的貨幣符號 . 小數點 , 千位分隔字元
可以使用TO_NUMBER將字串轉換成數字可以使用TO_DATE將字串轉換成格式日期TO_DATE ('10 September 1992', 'dd Month YYYY')
使用格式串TO_DATE(char [, 'fmt'])
普通函數NULL值處理函數
NVL (expr1, expr2) 如果expr1為NULL,返回expr2NVL2 (expr1, expr2, expr3) 如果expr1為非空,則返回expr2,如果expr1為NULL,則返回expr3NULLIF (expr1, expr2) 如果expr1=expr2,返回NULL,否則返回expr1
COALESCE (expr1, expr2, ..., exprn) 返回運算式列表中的第一個非空運算式
條件運算式,用case運算式或decode實現條件邏輯CASE運算式CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr]END
decode函數DECODE(col|expression, search1, result1 [, search2,result2,...,] [, default])
分組函數:AVG (DISTINCT|ALL|n)COUNT (DISTINCT|ALL|expr|*)MAX (DISTINCT|ALL|expr)MIN (DISTINCT|ALL|expr)STDDEV (DISTINCT|ALL|n)SUM (DISTINCT|ALL|n)VARIANCE (DISTINCT|ALL|n)
作者Blog: <http://blog.csdn.net/blueboy2000/>相關文章Oracle 常用SQL函數