2

我想针对两个日期查询我的表并检索其中的记录。

我这样声明我的变量;

DECLARE @StartDate datetime;
DECLARE @EndDate datetime;

并像这样设置我的变量;

SET @StartDate = 2012-08-01;
SET @EndDate = 2012-08-02;

我的 WHERE 子句;

WHERE Date BETWEEN  @StartDate AND @EndDate

执行查询时没有显示记录,我的错误是什么?我尝试在日期上添加时间,但这也不起作用。

4

3 回答 3

3

改为这样做

SET @StartDate = '2012-08-01'; SET @EndDate = '2012-08-02';

或更好

SET @StartDate = Convert(datetime,'2012-08-01',120); 
SET @EndDate = Convert(datetime,'2012-08-02',120);

这将返回 8 月 1 日的任何数据,或任何标记为 8 月 2 日午夜的数据。它不会返回任何标记为例如:8 月 2 日上午 9 点的内容

于 2012-08-03T10:51:31.900 回答
1
DECLARE @StartDate datetime, @EndDate datetime
SELECT @StartDate = '20120801', @EndDate = '20120802'

SELECT * from TableName
WHER Date between @StartDate and @EndDate
于 2012-08-03T10:53:20.050 回答
0

试过了

WHERE Date >= @StartDate AND Date <= @EndDate
于 2012-08-03T10:55:03.803 回答