我正在使用SQLServer 2008.我有一个表格X,字段Y是日期时间格式。在我的查询的WHERE语句中,我只想保留字段Y的日期等于当前日期的行。
我搜索了互联网,但找不到适用于SQLServer /
的示例感谢您的帮助!
答案 0 :(得分:16)
试试这个:
WHERE CONVERT(date,Y)=CONVERT(DATE,getdate())
答案 1 :(得分:2)
您需要以特定格式转换日期。因为当您将日期时间数据类型存储在sql server中时,sql server会自动使用默认时间设置日期。 现在,当您使用getdate()进行查询时,它会将当前日期与时间一起使用,因此这与您使用默认时间存储的日期不匹配。
所以你可以用2种方式做到这一点并获得实际结果。
1)使用上面已经完成的日期数据类型进行转换。
2)使用特定格式的 varchar 数据类型进行转换。
select * from X where Convert(varchar(10),Y,120) = CONVERT(varchar(10),GETDATE(),120)