Oracle 中常用的函数总结

一、NVL()函数

1.1、1.NVL函数

NVL函数的格式如下:NVL(expr1,expr2)

含义是:如果oracle第一个参数为null那么显示第二个参数的值,如果第一个参数的值不为null,
则显示第一个参数本来的值。

例如:

SQL> select ename,NVL(comm, -1) from emp;

raise_application_error(-20011, 'Invalid date format: ’ || nvl(ds_mask, -1) || ', ’ || nvl(lang_tag, -1));

1.2、 NVL2函数

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

含义是:如果该函数的第一个参数为null那么显示第三个参数的值,如果第一个参数的值不为null,
则显示第二个参数的值。

例如:SQL> select ename,NVL2(comm,-1,1) from emp;

二、常用的日期函数

2.1、 获取当前时间: sysdate

select sysdate from dual;

在这里插入图片描述

2.2、 将字符串类型转换成日期类型: to_date(‘字符串’,‘日期格式’);

select to_date('2021/01/01 18:10:10','yyyy-mm-dd HH24:mi:ss') from dual

在这里插入图片描述

2.3、 将日期转换成字符串: to_char(日期类型数据,‘所转换的日期格式’);

select to_char(  sysdate,'yyyy-mm-dd hh24:mi:ss' ) from dual

在这里插入图片描述

2.4、在给定日期的基础上了加n个月 : add_months(原日期数据,n);

select add_months(to_date('2021-01-01','yyyy-mm-dd'),4) from dual;

在这里插入图片描述

2.5、返回给定日期中该月的最后一天: last_day(给定日期数据); 如果该日期数据没有年份,会按sysdate的年计算该月的最后一天的日期。能够获取到某年某月的最后一天,省去了判断闰平年判断月份的步骤来获取。

select last_day(to_date('2019-02-01','yyyy-mm-dd')) from dual;

在这里插入图片描述

2.6、返回给定两个日期之间的月份差值: months_between(日期数据1,日期数据2); 得出的值的绝对值是两个日期之间的月份差,类似于日期数据1-日期数据2,日期数据1比日期数据2大,返回的就是正数,反之就是负数。

select months_between(to_date('2020-01','yyyy-mm'),to_date('2021-01','yyyy-mm')) from dual

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值