我在oracle中以yyyy-mm-dd格式约会。是否有可能从以下方面得到:
1.具体日期1年前以yyyy-mm-dd格式(所以:2013-02-01 - > 2012-02-01和2013-02-28 - > 2012-02-29)
2. yyyy-mm-dd格式的同月的相应开始日期和结束日期
答案 0 :(得分:1)
试试这个:
SELECT
TRUNC(DATE '2013-02-01', 'MM') - INTERVAL '1' YEAR AS one_year_ago_first_day,
LAST_DAY(TRUNC(DATE '2013-02-28', 'MM') - INTERVAL '1' YEAR) AS one_year_ago_last_day,
TRUNC(DATE '2013-02-11', 'MM'),
LAST_DAY(DATE '2013-02-11')
FROM
dual;
基本上,您可以使用带有TRUNC
模型格式的MM
来获取一个月的第一天,因此一切都会被截断(因此日期将设置为1)。
LAST_DAY
- 这个返回作为参数给出的日期月份中最后一天的日期。
您还可以使用INTERVAL
数据类型并从给定日期减去它。