SQL根据Sysdate选择一系列数据

时间:2015-10-28 19:53:47

标签: sql oracle sqlplus

所以我遇到这个问题,我试图为每月运行的这个sql选择一系列数据。基本上我有这个字段Date_OF_Entry记录日期为01-Jan-15

现在我将在16日每月两次运行此脚本,以捕获从15日回到1日的所有数据。然后我将在下个月的第一天运行脚本,以捕获从月末到16日的所有数据。

感谢任何帮助。

我现在在做什么。

DATE_OF_ENTRY> SYSDATE-16

1 个答案:

答案 0 :(得分:0)

ROUND(日期,'MM')下降到第15位,从第16位开始上升。

所以WHERE ROUND(DATE_OF_ENTRY,'MM')= ROUND(sysdate-1,'MM')将 - 在第16轮sydate和1-15th到本月初,并且,在1日将从第16届开始整理所有内容。

要小心,尽管如果在date_of_entry =第1个时添加了任何新记录,那么它们会在上个月的月末组中被提升。

因此,WHERE ROUND(DATE_OF_ENTRY,'MM')= ROUND(sysdate-1,'MM')和date_of_entry< trunc(sysdate)应该清除它。