我有一个表,其中dateX
列的格式为datetime
,包含标准日期。
如何从该表中选择dateX等于某个日期(例如2014年5月9日)的所有记录?
我尝试了下面的方法,但是即使我有几条记录具有此日期,也不会返回任何结果。
SELECT *
FROM dbo.LogRequests
WHERE (CONVERT(VARCHAR(10), dateX, 101) = '09/05/14')
编辑:在数据库中,使用SQL 2012,上面的示例如下所示:2014-05-09 00:00:00.000
3条答案
按热度按时间wgx48brx1#
最简单的方法是转换为日期:
通常,这样的表达式排除了索引的使用,但是,根据网络上的各种来源,上面的表达式是sargable(意味着它将使用索引),例如this和this。
出于习惯,我倾向于使用以下语句:
3lxsmp7m2#
在SQL Server中实现完美的
DateTime
匹配zbwhf8kr3#
这将选择两个日期之间的所有数据