oracle函数总结

本文总结了Oracle数据库中关于时间操作的常用函数,包括获取当前时间、计算特定日期、时间格式转换及时间差计算等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天抽时间对sql做了下强化,这里单独对oracle函数进行总结。

其实,主要是对时间的操作,那么主要说下时间:
不一一分开了,直接上了:

//当前时间
SELECT SYSDATE FROM DUAL;
//下一个星期几的时间,这里是下个星期4的时间
select next_day(sysdate,5) from dual;
//本月第一天,其实这个最容易得到了
select trunc(sysdate,'mm') from dual;
//而且,用好to_char()和to_date()的套用很不错的
select to_date(to_char('04:20','hh24:mi'),'yyyy-MM-dd') from dual;
//本月最后一天的当前时间
select lase_day(sysdate) from dual;
//本月最后一天的0点
select to_char(last_day(sysdate),'yyyy-MM-dd')||'00:00:00'
//或者用concat也可以,转换时间
select TO_DATE(concat(to_char(last_day(sysdate),'yyyy-MM-dd'),'00:00:00'),'yyyy-MM-dd HH24:MI:SS') FROM DUAL;
//时间可以减,但是不可以加,减得到是一天为单位的,这里得到分钟的天花板
select ceil((sysdate-to_date('2015-12-23 00:23:59','yyyy-MM-dd HH24:MI:SI'))*24*60) FROM DUAL
//用时间排序,如果字段类型是varchar2的话,需要转格式
order by to_date(column,'实际的时间格式')
//设置返回值的函数,如果查询不为空,返回本身,如果为空,返回特定值
select nvl1(column,'特定值') from table_test
//在返回情况少的时候使用,如果不为空,返回特定值1,为空,返回特定值2
select nvl2(column,'特定值1''特定值2') from table_test
//情况多的情况下,格式如下:
decode(column,if 是情况1,返回特定值1if 是情况2,返回特定值2,...最后都是不是,返回默认值)
select decode(age,'10','少年''20''青年''老年') from table_test;
//同类合并的wmsys.wm_concat(colmun)
//
select wmsys.wm_concat(name),age from table_test group by age
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值