1.Oracle获取指定日期的前(后)n个月
-- 获取2020-06的后5个月(2020-11)
SELECT TO_CHAR(ADD_MONTHS(to_date('2020-06','yyyy-MM'),5),'YYYY-MM') FROM dual;
-- 获取2020-06的前3个月(2020-03)
SELECT TO_CHAR(ADD_MONTHS(to_date('2020-06','yyyy-MM'),-3),'YYYY-MM') FROM dual;
例:
前
12个
月
SELECT TO_CHAR(ADD_MONTHS(TO_DATE(to_char(SYSDATE,‘yyyymm’),‘yyyyMM’), ROWNUM - 12),‘yyyyMM’) as MONTHLIST FROM DUAL
CONNECT BY ROWNUM <= 12
我有以下的sql,它给了我最后一整个三个
月
的人处理的档案报告,但我想采用它,以便从
前
三个
月
获得这些,例如,当我运行现在我应该从2011年10
月
11日和12日以及2012年1
月
2日和3日的4
月
份获得档案。有人可以提出一个建议,说明如何处理这个最简单的方法。这些报告作为sql存储在数据库中,因此它们应该能够随时运行。在
oracle
中的
前
三个
月
SQLselectpers_nr "person",to_c...
Oracle
数据库查询上一小时、上一天、上一个
月
、上一年、
前
几小时、
前
几天、
前
几
月
、
前
几年上一小时、上一天、上一个
月
、上一年上一小时代码select concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00') start_time,concat(to_char(sysdate,'yyyy-mm-dd hh...
select to_char(sysdate-interval'6'month,'yyyy-mm-dd') from dual;选择
前
六个
月
的
日期
select to_char(sysdate+interval'6'month,'yyyy-mm-dd') from dual;选择后六个
月
的
日期
2、
获取
当
前
日期
前
30天的全部
日期
。
select trunc(sysdate-30)+rownum as days from dual connect by rownum<=...
首先近N个
月
,是以当
前
执行时间为基期的,所以先弄清楚在
oracle
中如何
获取
当
前
日期
。
select sysdate from dual
执行了这条语句后,可以看到返回了一个当
前
日期
注意sysdate不是一个函数,所以后面不要加括号。
2)
日期
的窗口函数
如果是
月
份,在
oracle
中可以用add_months()函数来实现与基础
日期
的窗口期。
比如以下代码:
add_...
SELECT to_char(add_months(TRUNC(to_date('2020-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'Q'), +3)-1, 'YYYYMM') FROM dual; --根据
指定
日期
获取
该
日期
季度的
月
份
如下图所示:
2、根据时间获得该时间所属的上半年或下半年所在的
月
份:
select case when to_char(to_date('2020-03-01 00:00:0
select sysdate - interval '3' month from dual;
之
前
从网上找的,当时也认为没有什么不妥的地方,三个
月
前
的时间不正是当
前
时间再减去三个
月
嘛,没毛病。然后今天2019-12-31就出现问题了,当
前
时间减去三个
月
,就是9
月
31了,问题是,9
月
份只有30天呀,所以就报错了,报错信息如下图。所以这种写法不可取,经一事长一智,当时没考...
一.
获取
指定
时间的
前
或者后N天的
日期
格式为 yyyy-MM-dd
(1)
获取
2017-07-21的
前
15天
SELECT TO_CHAR(TO_DATE('2017-07-21', 'yyyy-MM-dd') + ROWNUM -15, 'yyyy-MM-dd') as daylist
FROM DUAL
select to_number(to_date('2018-09-09','yyyy-mm-dd') -to_date('2018-09-01', 'yyyy-mm-dd') ) as dataNum from dual
Date dBefore = new Date();
Calendar calendar = Calendar.getInstance(); //得...
在
oracle
的开发和使用中,经常需要用到各种各样的
日期
函数,网上
日期
函数搜索起来一大把,用起来很多有一些小问题,自己动手总结记录下,也能让有缘的同学少走一点弯路。--常用
日期
型函数1、Sysdate当
前
日期
和时间Select sysdate from dual;2、Add_months(d,n)当
前
日期
d后推n个
月
用于从一个
日期
值增加或减少一些
月
份当
前
日期
后两个
月
:Select add_mont...