Oracle的sql 函數

來源:互聯網
上載者:User

Oracle的SQL函數
  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,返回expr2
  NVL2 (expr1, expr2, expr3)
      如果expr1為非空,則返回expr2,如果expr1為NULL,則返回expr3
  NULLIF (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)

 

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.