【问题标题】:How can I extract minute from time in BigQuery?如何在 BigQuery 中从时间中提取分钟?
【发布时间】:2020-04-13 10:40:58
【问题描述】:

如何从 BigQuery 的时间戳/时间列中提取小时?

时间戳列样本值:4/1/2020 12:57:55

时间列样本值:12:57:55

我尝试过使用

    EXTRACT(minute from Timestamp)
    split(Time,'')[ordinal(1)]

split 只返回一个值,并没有解决我的问题。 常规 SQL 提取不起作用。

【问题讨论】:

  • 请解释一下“不工作”是什么意思。

标签: mysql sql google-bigquery


【解决方案1】:

据我所知,您的日期时间列被格式化为字符串。所以你需要先把它解析成日期时间。

SELECT EXTRACT(minute from PARSE_DATETIME('%e/%m/%Y %H:%M:%S', '4/1/2020 12:57:55'))

时间栏可以用这个:

SELECT EXTRACT(minute from CAST('12:57:55' AS time))

【讨论】:

    【解决方案2】:

    要从标量列中提取小时,您可以使用:

    EXTRACT(hour FROM Timestamp)
    

    EXTRACT() 适用于 TIMESTAMPs 和 TIMEs。

    【讨论】:

    • 感谢您的回复。我需要时间戳/时间的分钟值。我已经更正了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-03-14
    • 2019-05-27
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2021-07-16
    • 2020-08-09
    • 1970-01-01
    相关资源
    最近更新 更多