2

我有一个 SQL 表,它有一个DATETIME column(EndTime). 从我的代码中,我传递了一个日期,我想获得与该日期EndTime相等的日期。我用了

SELECT MAX([EndTime]) FROM [dbo].[Table]  where [EndTime]=@date

我想要的是,如果我传递2013-06-14 10:35给查询,它应该在这段时间内返回所有记录。但由于表中的秒值,它只返回具有2013-06-14 10:35:000. 如何忽略列中的秒部分?

4

2 回答 2

1

为什么不尝试类似的东西

SELECT MAX([EndTime]) 
FROM [dbo].[Table]  
where [EndTime]>=@date
AND [EndTime]<DATEADD(minute,1,@date)

甚至

SELECT MAX([EndTime]) 
FROM [dbo].[Table]  
where convert(varchar(16),EndTime,120) = @date
于 2013-06-14T07:30:35.627 回答
0

您也可以尝试在下面删除秒

SELECT MAX([EndTime]) 
FROM [dbo].[Table]  
where   DATEadd(ss,-datepart(ss,EndTime),EndTime) = @date
于 2013-06-14T07:44:59.707 回答