Oracle/PLSQL工作常用函数总结

前言:本人目前是在银行业从事数据开发工作,所以本篇文章结合自己的工作实际主要供准备从事银行数据开发小白参考以及自己日后查阅。

  1. NVL()函数,空值转换
    语法格式:NVL(expr1,expr2)
    功能:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
    应用场景举例:
    ①.表A与表B根据账号进行左连接得到一个表C,如果连接之后表B某一字段值不为空,则采用表B,否则采用表A,如nvl(B.name,A.name)。
    ②.处理某一字段当值为空时的情况。
    注意事项:expr1,expr2数据类型必须一致,如果不一致,要进行转换,否则会报错。

2.TRUNC() 函数,日期、数值截取
①.处理日期时
语法格式:TRUNC(date,[fmt])。其中:date 为必要参数,是输入的一个日期值,fmt 参数可忽略,默认按天截断。
fmt值参考如下:在这里插入图片描述

功能:TRUNC函数返回以指定元素格式截去一部分的日期值
应用场景举例:构建某一天的月初( 今天的日期SYSDATE为2020-12-28)

SELECT TRUNC(SYSDATE,'MM') FROM DUAL  

sysdate为系统日期 dual为虚表
在这里插入图片描述

或者构建某一年的年初

SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL

或者

SELECT TRUNC(SYSDATE,'YYYY') FROM DUAL

结果都一样,如下
在这里插入图片描述
其他:

select trunc(sysdate) from dual   

select trunc(sysdate,'dd') from dual    

都是返回当前年月日,如下

在这里插入图片描述

select trunc(sysdate,'d') from dual 

SELECT TRUNC(DATE'2020-12-31','D') FROM DUAL

都是返回上周的星期天,如下(当天为星期一,31号为星期四,上周星期天日期为27号)
在这里插入图片描述

select trunc(sysdate, 'hh24') from dual    --返回当前小时

在这里插入图片描述
注意事项:TRUNC()函数没有秒的精确
②.处理数值时
语法:TRUNC(number[,decimals]),其中:number 待做截取处理的数值,decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
功能:TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
应用举例:

SELECT TRUNC(89.9852FROM DUAL

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值