我刚接触sql server查询。我有一个名为duedate的专栏。我想在当月内过滤duedate数据。
SELECT * FROM TABLE1 WHERE duedate = within current month only
提前致谢。
答案 0 :(得分:13)
您应该使用范围查询,而不是将列包装在函数调用中,以便可以使用索引。
SELECT *
FROM TABLE1
WHERE duedate >= DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
AND duedate < DATEADD(month, 1 + DATEDIFF(month, 0, getdate()), 0)