oracle中to_date格式2

本文介绍了一系列日期时间处理的方法,包括年月日的精确计算、处理月份中不同天数的问题、计算一年中的具体天数等。此外,还提供了闰年的判断方式、时区转换的SQL示例、以及如何获取当前日期是一年的第几天。

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

13.年月日的处理

  select older_date,

  newer_date,

  years,

  months,

  abs(

  trunc(

  newer_date-

  add_months( older_date,years*12+months )

  )

  ) days

  from ( select

  trunc(months_between( newer_date, older_date )/12) YEARS,

  mod(trunc(months_between( newer_date, older_date )),12 ) MONTHS,

  newer_date,

  older_date

  from (

  select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date

  from emp

  )

  )

  14.处理月份天数不定的办法

  select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual

  16.找出今年的天数

  select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual

  闰年的处理方法

  to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' )

  如果是28就不是闰年

  17.yyyy与rrrr的区别

  'YYYY99 TO_C

  ------- ----

  yyyy 99 0099

  rrrr 99 1999

  yyyy 01 0001

  rrrr 01 2001

  18.不同时区的处理

  select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate

  from dual;

  19.5秒钟一个间隔

  Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')

  from dual

  2002-11-1 9:55:00 35786

  SSSSS表示5位秒数

  20.一年的第几天

  select TO_CHAR(SYSDATE,'DDD'),sysdate from dual

  310 2002-11-6 10:03:51

  21.计算小时,分,秒,毫秒

  select

  Days,

  A,

  TRUNC(A*24) Hours,

  TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值