加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server:如何从datetime列中选择具有特定日期的记录

发布时间:2020-12-12 06:23:50 所属栏目:MsSql教程 来源:网络整理
导读:我对SQL很陌生,希望有人可以帮助我: 我有一个表格,其中一列dateX格式化为datetime并包含标准日期. 如何从此表中选择此dateX等于特定日期的所有记录,例如2014年5月9日? 我试过以下但是即使我有这个日期的几条记录也没有返回任何内容. SELECT *FROM dbo.LogRe
我对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';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读