時間: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函數