SQL根据sysdate选择数据范围

SQL Selecting A Range Of Data According To Sysdate

所以我遇到了这个问题,我正在尝试 select 此 sql 每月 运行 的一系列数据。基本上我有这个字段 Date_OF_Entry 将日期记录为 01-Jan-15

现在我将在每月 16 日 运行 运行此脚本两次,以捕获从 15 日到 1 日的所有数据。然后我也会运行下个月1号的脚本来抓取月底到16号的所有数据。

感谢任何帮助。

我现在在做什么

其中 DATE_OF_ENTRY > sysdate-16

ROUND(date,'MM') 向下舍入到第 15 位,从第 16 位向上舍入。

所以 WHERE ROUND(DATE_OF_ENTRY,'MM') = ROUND(sysdate-1,'MM') 将在 16 号轮到 sydate 和 1-15 号到月初,1 日将从 16 日开始舍入所有内容。

请注意,与 1 日一样,如果在 date_of_entry = 1 日添加了任何新记录,它们将被挤到上个月的月末组中。

所以,WHERE ROUND(DATE_OF_ENTRY,'MM') = ROUND(sysdate-1,'MM') AND date_of_entry < trunc(sysdate) 应该清除它.