所以我遇到这个问题,我试图为每月运行的这个sql选择一系列数据。基本上我有这个字段Date_OF_Entry记录日期为01-Jan-15
现在我将在16日每月两次运行此脚本,以捕获从15日回到1日的所有数据。然后我将在下个月的第一天运行脚本,以捕获从月末到16日的所有数据。
感谢任何帮助。
我现在在做什么。
DATE_OF_ENTRY> SYSDATE-16
答案 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)应该清除它。