• Oracle 常用SQL函数


     

    航海日志 第1篇

    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)

    相关文章
  • 相关阅读:
    Bootstrap-datepicker3官方文档中文翻译---Methods/方法(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
    Bootstrap-datepicker3官方文档中文翻译---Options/选项(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
    IOI2020集训队作业
    校内集训作业题
    CF题目泛做 3
    CF题目泛做 2
    CF题目泛做1
    NOIP2020
    相邻交换法 & 皇后游戏
    Codeforces Round #679 Div.1
  • 原文地址:https://www.cnblogs.com/xiaotaoliang/p/102257.html
Copyright © 2020-2023  润新知