Oracle 常用SQL函數

來源:互聯網
上載者: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函數  


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。