我是Oracle / Toad的新手。 我试图像这样从SYSDATE获取以前的天,月,季节:
20190102
20190101
20181231
20181230
20181201
20181101
20181001
20180701
20180401
20180101
20171001
20170701
有人可以帮我吗?
SELECT to_date(to_char(sysdate,'yyyymmdd'),'yyyymmdd'),
to_date(to_char(sysdate,'yyyymmdd')-1,'yyyymmdd'),
to_date(to_char(sysdate,'yyyymmdd')-2,'yyyymmdd'),
to_date(to_char(sysdate,'yyyymmdd')-3,'yyyymmdd'),
trunc(sysdate)-(to_number(to_char(sysdate,'dd'))-1)
from dual;
我坚持到这一点。
答案 0 :(得分:1)
我正在尝试从SYSDATE获取以前的日期,月份,季节
您所期望的日期序列的逻辑尚不清楚,但是根据报价,这是实现目标的基本工具:
SELECT
trunc(sysdate) - 1 last_day,
add_months(trunc(sysdate, 'MM'), -1) first_day_of_last_month,
add_months(trunc(sysdate, 'Q'), -3) first_day_of_last_quarter
FROM DUAL
收益:
LAST_DAY | FIRST_DAY_OF_LAST_MONTH | FIRST_DAY_OF_LAST_QUARTER :-------- | :---------------------- | :------------------------ 06-JAN-19 | 01-DEC-18 | 01-OCT-18
db <>提琴here