SQL Server - 显示当前月份内的日期

时间:2013-10-18 16:51:39

标签: sql sql-server

我刚接触sql server查询。我有一个名为duedate的专栏。我想在当月内过滤duedate数据。

SELECT * FROM TABLE1 WHERE duedate = within current month only

提前致谢。

1 个答案:

答案 0 :(得分:13)

您应该使用范围查询,而不是将列包装在函数调用中,以便可以使用索引。

SELECT *
FROM   TABLE1
WHERE  duedate >= DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
       AND duedate < DATEADD(month, 1 + DATEDIFF(month, 0, getdate()), 0)