获取今天和当前周的开始之间的日期记录

时间:2017-11-03 10:23:19

标签: oracle date sysdate

假设我们有表error_log,很容易就像:

+-------------+---------------+
| error_token | date_recorded |
+-------------+---------------+
| error_1     | 05.03.2017    |
+-------------+---------------+
| error_2     | 05.03.2017    |
+-------------+---------------+
| error_3     | 10.03.2017    |
+-------------+---------------+
| error_4     | 30.03.2017    |
+-------------+---------------+

本周开始今天的所有错误的最佳方法是什么。

如果我们想要从当月初今天之间的所有错误,也一样。

1 个答案:

答案 0 :(得分:1)

当你说"直到今天"我认为这意味着,但不包括今天小于trunc(sysdate)的任何部分

select *
from error_log
where date_recorded >= trunc(sysdate,'W') -- beginning of week
and date_recorder < trunc(sysdate) -- optional

select *
from error_log
where date_recorded >= trunc(sysdate,'MONTH') -- beginning of month
and date_recorder < trunc(sysdate) -- optional

请参阅TRUNC