求日期为20230531的 上一年最后一天为yyyymmdd的oracle语句怎么写
时间: 2024-03-05 10:49:43 浏览: 51
oracle关于日期的查询语句
要获取给定日期(例如20230531)的上一年最后一天,并且日期格式为yyyymmdd,您可以使用以下Oracle SQL语句:
```
SELECT TO_CHAR(TO_DATE('12/31/' || TO_CHAR(TO_DATE('20230531', 'YYYYMMDD') - INTERVAL '1' YEAR, 'YYYY'), 'MM/DD/YYYY'), 'YYYYMMDD') AS last_day_of_last_year FROM DUAL;
```
该语句中,使用了 `TO_DATE` 函数将给定日期转换为日期类型,然后使用 `- INTERVAL '1' YEAR` 的方式获取了上一年的日期。接着使用 `TO_CHAR` 函数将年份转换为四位数字的字符串。再使用 `TO_DATE` 函数将字符串转换为日期类型,最后再次使用 `TO_CHAR` 函数将日期转换为您需要的格式(即yyyymmdd)。
执行以上SQL语句后,您将会得到一个结果集,其中包含给定日期的上一年最后一天,且日期格式为yyyymmdd。
阅读全文