【问题标题】:SQL: select date rows that contain specific hour and minuteSQL:选择包含特定小时和分钟的日期行
【发布时间】:2022-01-09 23:20:22
【问题描述】:

我正在查询一个具有如下日期列的表:

date
2021-03-08 05:05:31+00
2021-03-08 05:10:31+00

如何在 SQL 中选择所有包含 05:05 作为小时和分钟的行?即小时 = 05 和分钟 = 05 的行。在这种情况下,它将是第一行。

【问题讨论】:

  • 你的 dbms 是什么? MySQL postgresql

标签: sql date select


【解决方案1】:

问:如何在 SQL 中选择所有包含 05:05 作为小时和分钟的行?

答:对于 MySQL,请查看 MySql Date and Time functions。在那里,你会找到Extract()

您可以按如下方式使用它:

https://www.w3schools.com/sql/func_mysql_extract.asp

从日期时间中提取分钟:

SELECT EXTRACT(MINUTE FROM "2017-06-15 09:34:21");

这假设您将列存储为“日期”类型。

不同的 RDBMS 供应商具有不同的日期/时间功能。您必须阅读文档并进行实验,以确定要为您的特定数据库供应商和特定表架构使用哪种语法。

【讨论】:

    【解决方案2】:

    您可以根据您的问题使用以下查询获取结果。

    SQL 中有 DateName 函数,您可以将其放入查询中,如下所示。

    CreatedDate 是列名.. 示例:

    Select * from #tmp1 where datename(hour,createdDate)=07 And datename(minute,CreatedDate)=07
    

    【讨论】:

    • 有趣的建议,但认为 DATENAME() 是特定于 MSSQL 的。
    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 2016-10-20
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多