内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
select * from sampleTable where CONVERT(VARCHAR(20),DateCreated,101) = CONVERT(VARCHAR(20),CAST('Feb 15 2012 7:00:00:000PM' AS DATETIME),101)
我想比较一下没有时间的日期
以上查询是否可以?
在你的情况下,无需转换回日期时间; 并使用范围允许最有效的比较(特别是如果索引):
declare @when datetime = 'Feb 15 2012 7:00:00:000PM'
declare @min datetime = FLOOR(CAST(@when as float))
declare @max datetime = DATEADD(day, 1, @min)
select * from sampleTable where DateCreated >= @min and DateCreated < @max
方法
DECLARE @Date datetime = '04/01/2016 12:01:31' DECLARE @Date2 datetime = '04/01/2016' SELECT CAST(@Date as date) SELECT CASE When (CAST(@Date as date) = CAST(@Date2 as date)) Then 1 Else 0 End