Oracle当前日期前后推算公式
2016-12-23 16:58
281 查看
平时在项目中会经常遇到需要用某个日期(如当前系统时间)来获取该日期前后的特定日期,下面列出一些常用的公式。
✳ sysdate为系统当前日期
日期类型转换成字符串类型
当年年末日期
当前日期上月月初
当前日期上月月末
当前日期上月年初
当前日期上月年末
当前日期上年年初
当前日期上年年末
当前日期下月月初
当前日期下月月末
当前日期下月年初
当前日期下月年末
当前日期下年年初
当前日期下年年末
✳ sysdate为系统当前日期
基础函数
字符串类型转换成日期类型select to_date('2016-06-15','yyyy-mm-dd') from dual -- 2016-6-15
日期类型转换成字符串类型
select to_char(sysdate,'yyyy-mm-dd') from dual -- 系统当前日期
拓展公式
当年年初日期select trunc(to_date('2016-06-15','yyyy-mm-dd'),'year') from dual -- 2016-1-1
当年年末日期
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),12)-1 from dual -- 2016-12-31
当前日期上月月初
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd'))+1,-2) from dual -- 2016-5-1 select add_months(last_day(to_date('2016-01-15','yyyy-mm-dd'))+1,-2) from dual -- 2015-12-1
当前日期上月月末
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1) from dual -- 2016-5-31 select add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1) from dual -- 2015-12-31
当前日期上月年初
select trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1)),'year') from dual -- 2016-1-1 select trunc(to_date(add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1)),'year') from dual -- 2015-1-1
当前日期上月年末
select add_months(trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1)),'year'),12)-1 from dual -- 2016-12-31 select add_months(trunc(to_date(add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1)),'year'),12)-1 from dual -- 2015-12-31
当前日期上年年初
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),-12) from dual -- 2015-1-1
当前日期上年年末
select trunc(to_date('2016-06-15','yyyy-mm-dd'),'year')-1 from dual -- 2015-12-31
当前日期下月月初
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd'))+1,0) from dual -- 2016-7-1 select add_months(last_day(to_date('2015-12-15','yyyy-mm-dd'))+1,0) from dual -- 2016-1-1
当前日期下月月末
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),1) from dual -- 2016-7-31 select add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1) from dual -- 2016-1-31
当前日期下月年初
select trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),1)),'year') from dual -- 2016-1-1 select trunc(to_date(add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1)),'year') from dual -- 2016-1-1
当前日期下月年末
select add_months(trunc(to_date(add_months(last_day(to_date('201 98fc 6-06-15','yyyy-mm-dd')),1)),'year'),12)-1 from dual -- 2016-12-31 select add_months(trunc(to_date(add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1)),'year'),12)-1 from dual -- 2016-12-31
当前日期下年年初
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),12) from dual -- 2017-1-1
当前日期下年年末
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year')-1,24) from dual -- 2017-12-31
相关文章推荐
- oracle 中由当前日期获得前一天,前一月的日期
- oracle的备份(文件名为当前日期)
- oracle小技巧之无中生有多行,使用ntile(n)取当前日期所属的季度
- Oracle 获取当前日期及日期格式
- 如何将Oracle 当前日期加一天、一分钟
- 如何将Oracle 当前日期加一天、一分钟?
- java 日期前后推算计算
- asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
- 如何将Oracle 当前日期加一天、一分钟?
- 如何将Oracle 当前日期加一天、一分钟
- {today} oracle 获取当前日期 netsuite
- Oracle 中取当前日期的上个月最后天和第一天
- Oracle 获取当前日期及日期格式
- 向oracle 和mysql 插入当前日期
- python获取当前日期前后N天或N月的日期
- [DB][ORACLE]取得指定月份的最后一天、在当前日期的基础上加/减月份
- asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
- ORACLE 日期处理,将日期更新为当前日期,时分秒不变
- Oracle 获取当前日期及日期格式
- oracle查看当前日期是第几个星期的方法