简单的日期时间 sql 查询

新手上路,请多包涵

如何查询一定范围内的DateTime数据库字段?

我正在使用 SQL SERVER 2005

下面的错误代码

SELECT *
  FROM TABLENAME
 WHERE DateTime >= 12/04/2011 12:00:00 AM
   AND DateTime <= 25/05/2011 3:53:04 AM

请注意,我需要在某个时间范围内获取行。例如,10 分钟的时间范围。

当前 SQL 返回 ‘12’ 附近的语法不正确。”

原文由 ove 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 380
2 个回答

您错过了单引号:

 SELECT *
FROM TABLENAME
WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime <= '25/05/2011 3:53:04 AM'

此外,建议使用 ISO8601 格式 YYYY-MM-DDThh:mm:ss.nnn[ Z ],因为这不会取决于您服务器的本地文化。

 SELECT *
FROM TABLENAME
WHERE
    DateTime >= '2011-04-12T00:00:00.000' AND
    DateTime <= '2011-05-25T03:53:04.000'

原文由 Alex Aza 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以执行以下代码

SELECT Time FROM [TableName] where DATEPART(YYYY,[Time])='2018' and DATEPART(MM,[Time])='06' and DATEPART(DD,[Time])='14

原文由 Abdul Rafey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进