zoukankan      html  css  js  c++  java
  • Oracle的sql 函数

    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)

  • 相关阅读:
    洛谷 P1692 部落卫队
    洛谷 P1113 杂务
    洛谷 P1546 最短网络 Agri-Net
    洛谷 P2121 拆地毯
    洛谷 P2728 纺车的轮子 Spinning Wheels
    洛谷 P2126 Mzc家中的男家丁
    线段树双标记——乘法和加法
    A. Feed the cat
    洛谷 P1535 游荡的奶牛
    BZOJ1050 [HAOI2006]旅行
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1787804.html
Copyright © 2011-2022 走看看