【发布时间】:2021-10-02 06:56:24
【问题描述】:
使用LAST_DAY 和TRUNC 的组合时,我得到了意想不到的结果:
select LAST_DAY(TRUNC(sysdate, 'DAY')) from dual;
--31-JUL-2021 00:00:00
select TRUNC(LAST_DAY(sysdate), 'DAY')from dual;
--26-JUL-2021 00:00:00
为什么这些调用不会返回相同的结果?我的意思是,有什么区别:
- 我希望今天被截断(摆脱小时数)
- 然后获取该月的最后一天
和
- 我想要一个月的最后一天(带小时)
- 然后去掉小时部分
【问题讨论】:
-
只是为了备份已经给出的答案; documentation shows the behaviour 用于不同的格式元素。它还指出“DAY”是 NLS 敏感的。
标签: oracle datetime plsql oracle19c