Oracle单行函数

(1)通用函数(NVL,NVL2,NULLIF,COALESCE)
在这里插入图片描述
在这里插入图片描述
(2)NVL函数
NVL(eExpression1, eExpression2)
如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。
(3)NVL2函数
NVL(eExpression1, eExpression2, eExpression3)
nvl2函数的是nvl函数的拓展,意思是eExpression1为null,就返回eExpression3,不为null就返回eExpression2。
(4)NULLIF函数
Oracle NULLIF函数语法为NULLIF(表达式1,表达式2),如果表达式1和表达式2相等则返回空值,如果表达式1和表达式2不相等则返回表达式1的结果。
注意:表达式1和表达式2应该是相同数据类型或能隐含转换成相同数据类型,表达式1不能用字符null。
(5)COALESCE函数
COALESCE(expr1, expr2…exprn)
当判断expr1不为空时,就返回expr1,判断expr1为空时,就返回expr2。 必须指定最少两个参数。如果所有的参数都是null,则返回null。
(6)CASE 表达式
(1)CASE表达式可以让你可以在SQL中使用类似于if… then…else的逻辑而不需要调用程序

SELECT last_name, job_id, salary,
CASE  job_id  WHEN  'IT_PROG' THEN 1.10*salary
 WHEN  'ST_CLERK'  THEN 1.15*salary
 WHEN  'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees;

(7)大小写控制函数(UPPER,LOWER,INITCAP)
这类函数改变字符的大小写。
• UPPER():所有字母转换为大写
• LOWER():所有字母转换为小写
• INITCAP():所有单词首字母与转换为大写
• 数字函数(ROUND)
在这里插入图片描述
(8)ROUND 函数
• 描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。SELECT ROUND( number, [decimal_places ] ) FROM DUAL,参数:number : 欲处理之数值,decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )
(8) TRUNC 函数

  1. 用来处理日期: TRUNC(date,[fmt]): 根据fmt格式来截取日期
  2. 用来处理数值:TRUNC(n1, n2): 用来根据n2截取n1并返回结果,n2可省略。截取数值是不进行四舍五入。
    (9) MOD 函数/取余函数
    该函数的的规则是:返回m/n的余数,如果 n 为 0,则返回 m
    (10)转换函数(显性)(TO_CHAR,TO_DATE,TO_NUMBER)
    在这里插入图片描述
    (11)TO_CHAR函数
    (1)对日期的转换
    to_char(日期,“转换格式” ) 即把给定的日期按照“转换格式”转换。
    日期格式的元素:
    时间格式:HH:MI:SS
    使用双引号向日期中添加字符:DD ‘‘of’’ MONTH
    SELECT last_name,
    TO_CHAR(hire_date, ‘DD Month YYYY’) AS HIREDATE
    FROM employees;
    (2)对数字的转换
    这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。
    格式’999.99’,9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定位数没有值,则以空格表示。
    格式’0990.990’,0表示对应的某一个指定位数的值,如果是值是0则显示为0,如果是没有值也显示为0。
    格式’FM990.90’,FM表示将显示出来的字符串定位数没有值而显示的空格清理掉,作用和ltrim类似。
    SELECT TO_CHAR( 00.0001, ‘FM99990.0099’ ) price FROM dual; --输出0.0001
    SELECT TO_CHAR( 1001.000, ‘FM99990.0099’ ) price FROM dual; --输出1001.00、
    (12)TO_DATE 函数对字符的转换
    to_date(“要转换的字符串”,“转换的格式”) 两个参数的格式必须匹配,否则会报错。
    (13)TO_NUMBER 函数对字符的转换
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值