获取当月的日期范围?

IEl*_*ite 3 sql sql-server delphi delphi-7

我想创建一个SQL语句,以便稍后在我的代码中使用,它获取当前月份的日期范围.

示例:这是八月,所以日期范围是

StartDate = 08/01/11
EndDate = 08/31/11
Run Code Online (Sandbox Code Playgroud)

但是,如果是2月份

StartDate = 02/01/11
EndDate = 02/28/11

Select * 
from mytable 
where (check_date >= StartDate) AND (check_date <= EndDate)
Run Code Online (Sandbox Code Playgroud)

感谢您提供的任何帮助

And*_*mar 11

你可以找到这个月的开始,从零开始的技巧.该月的最后一天是一个月后,减去一天:

select  dateadd(month,datediff(month,0,getdate()),0)
,       dateadd(day,-1,dateadd(month,datediff(month,-1,getdate()),0))
Run Code Online (Sandbox Code Playgroud)

这打印:

1-aug-2011    31-aug-2011
Run Code Online (Sandbox Code Playgroud)