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

SQL Server-显示当前月份内的日期,sql,sql-server,Sql,Sql Server,我刚刚接触sql server查询。我有一个名为duedate的专栏。我想筛选当月的截止日期数据 SELECT * FROM TABLE1 WHERE duedate = within current month only 提前感谢。您应该使用范围查询,而不是在函数调用中包装列,以便使用索引 SELECT * FROM TABLE1 WHERE duedate >= DATEADD(month, DATEDIFF(month, 0, getdate()), 0) AN

我刚刚接触sql server查询。我有一个名为duedate的专栏。我想筛选当月的截止日期数据

SELECT * FROM TABLE1 WHERE duedate = within current month only

提前感谢。

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

SELECT *
FROM   TABLE1
WHERE  duedate >= DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
       AND duedate < DATEADD(month, 1 + DATEDIFF(month, 0, getdate()), 0) 
选择*
来自表1
其中duedate>=DATEADD(月,日期差(月,0,getdate()),0)
和duedate
此查询在列上使用索引。但别忘了您第一次提醒我的是哪一个。@AaronBertrand-说得好,可惜他们没有提到SQL Server的版本。相关问题的解决方法是2008+。