oracle中时间推算

本文介绍了在Oracle数据库中如何进行时间的格式化输出和日期推算,包括年、月、季度和周的开始与结束日期的计算,以及指定日期时刻的调整。

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

oracle中时间的处理

 

1.格式化输出

   <1>select   to_char(sysdate,'yyyy/mm/dd')  from dual;

  显示结果:

  2011/05/11

 

   <2>select  to_char(sysdate,'yyyy"年"mm"月"dd"月"')  from dual;

   显示结果:

   2011年05月11月

 

2.日期推算处理

  <1>指定日期该年的第一天

   select   trunc(sysdate,'YEAR')  from dual

    显示结果:

    2011-1-1

 

   该年的最后一天

   select  add_months(last_day(sysdate),12-to_char(sysdate,'mm')) from dual;

   显示结果:

   2011-12-31 10:35:21

 

  <2>指定日期该月的第一天

         select add_months(last_day(sysdate)+1,-1) from dual;

          显示结果:

          2011-5-1 10:44:14

 

         select trunc(sysdate,'MONTH') from dual;

         显示结果:

         2011-5-1

 

         指定日期该月的最后一天

         select last_day(sysdate) from dual;

         显示结果:

         2011-5-31 10:40:52

 

 <3>指定日期该季度的第一天

       select TRUNC(add_months(sysdate,mod(to_number(to_char(sysdate,'mm')),3)-3),'MONTH')

        from dual;

        显示结果:

       2011-4-1

 

       指定日期该季度的最后一天

        select  to_char(last_day(add_months(sysdate,3-mod(to_number(to_char(sysdate,'mm')),3))),'yyyy-mm-dd')

        from dual;

        显示结果:

        2011-06-30

 

   <4>指定日期所在周的任意一天

    next_day();

   <5>指定日期的任意一天的改时刻

        select next_day(sysdate,2)  from  dual;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值