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