我想针对两个日期查询我的表并检索其中的记录。
我声明我的变量是这样的;
DECLARE @StartDate datetime;
DECLARE @EndDate datetime;
并设置我的变量;
SET @StartDate = 2012-08-01;
SET @EndDate = 2012-08-02;
我的WHERE子句;
WHERE Date BETWEEN @StartDate AND @EndDate
执行查询时没有显示记录,我的错误是什么?我已经尝试在日期中添加时间,但这也不起作用。
答案 0 :(得分: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点
答案 1 :(得分:1)
DECLARE @StartDate datetime, @EndDate datetime
SELECT @StartDate = '20120801', @EndDate = '20120802'
SELECT * from TableName
WHER Date between @StartDate and @EndDate
答案 2 :(得分:0)
尝试
WHERE Date >= @StartDate AND Date <= @EndDate