我有一个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
的值。如何忽略列中的秒部分?
答案 0 :(得分: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
答案 1 :(得分:0)
您也可以尝试以下删除秒数
SELECT MAX([EndTime])
FROM [dbo].[Table]
where DATEadd(ss,-datepart(ss,EndTime),EndTime) = @date