我对
sql很陌生,希望有人可以帮助我:
我有一个表格,其中一列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
非常感谢Mike的任何帮助.
最简单的
方法是转换为日期:
SELECT *
FROM dbo.LogRequests
WHERE cast(dateX as date) = '2014-05-09';
通常,这样的表达式排除了索引的使用.但是,根据网络上的各种来源,上述内容是可以理解的(意味着它将使用索引),例如this和this.
出于习惯,我倾向于使用以下内容:
SELECT *
FROM dbo.LogRequests
WHERE dateX >= '2014-05-09' and dateX < '2014-05-10';
原文链接:https://www.f2er.com/mssql/79164.html