oracle 转换函数以及表达式

oracle 转换函数以及表达式

1.主要内容:

  • oracle中的各种转换函数
  • TO_CHAR,TO_NUMBER和TO_DATE转换函数的使用

2.隐式和显式数据类型转换

  • TO_CHAR, TO_DATE, TO_NUMBER 函数
  • 通用函数:
    • –NVL
    • NVL2
    • NULLIF
    • COALESCE
    • DECODE
  • 条件表达式:
    • case

1.转换函数:

TO_CHAR函数
  • TO_CHAR(date[,'format_model'])

  • 格式

    • 单引号引
    • 区分大小写
    • 可以包含任何有效的日期格式元素
    • 使用fm元素以删除填充的空格或抑制前导零
  • 模型元素

Element 解释
YYYY 数值型全年份(2020)
YEAR 英语拼写年份
MM 数值日期两位数
MONTH 月份名称
MON 月份三个字母缩写
DY 星期
DAY 星期全名
DD 数值型天数
  • 时间元素格式化日期的时间部分:
    • HH24:MI:SS AM 15:45:32 PM
  • 通过将字符串括在双引号中来添加字符串
    • day "of" month
TO_CHAR函数与数字一起使用
  • TO_CHAR(number[, 'format_model'])
元素 解释
9 替换为一个数字
0 强制替换0
$ 美元符号
L 本地货币符号
. 小数点
, 逗号
TO_NUMBER函数
  • TO_NUMBER(char[, 'format_model'])
TO_DATE函数
  • TO_DATE(char[, 'format_model'])

2.通用函数

数据可以是字符,数字和日期

NVL函数
  • NVL (expr1, expr2) 二元表达式,当expr1为空,则取expr2
NVL2函数
  • NVL2(expr1,expr2, expr3)当expr1不为空,取expr2,为空取expr3
NULLIF
  • NULLIF(expr1,expr2),expr1和expr2相等为空,不相等为expr1
COALESCE
  • COALESCE(expr1,expr2, ..., exprn),第一个不为空,则返回,依次类推

3.条件表达式

  • CASE WHEN(两种使用语法)

    • CASE expr WHEN comparison_expr1 THEN return_expr1

    ​ [WHEN comparison_expr2 THEN return_expr2

    ​ WHEN comparison_exprn THEN return_exprn

    ​ ELSE else_expr]

    ​ END

    • CASE

      WHEN condition1 THEN use_expression1

      WHEN condition2 THEN use_expression2

      WHEN condition3 THEN use_expression3

      ELSE default_use_expression

      END

  • DECODE函数

    DECODE(col|expression**, search1, result1[, search2, result2,...,] [, default])

    • 实例:

      DECODE(job_id, 'IT_PROG', 1.10*salary,

      ​ 'ST_CLERK', 1.15*salary,

      ​ 'SA_REP', 1.20*salary,

      ​ salary)

区别:case是表达式,decode是函数,decode能做的,case一定可以替代,case更强大,case可以作为子查询使用

posted @ 2020-10-27 18:19  只有牙  阅读(764)  评论(0)    收藏  举报