微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算 BigQuery 中 2 个时间戳变量之间的差异以分钟为单位? 标准 SQL

如何解决如何计算 BigQuery 中 2 个时间戳变量之间的差异以分钟为单位? 标准 SQL

我有两列开始时间和结束时间(两个时间戳)并尝试计算分钟的确切差异,但不知何故它不想工作。 我已经在寻找类似的问题,但它对我不起作用..

开始时间 end_at
2021-01-02 16:22:53 UTC 2021-01-02 16:43:40 UTC
... ...

我尝试过的:

    EXTRACT (DATE FROM started_at) AS start_ymd,EXTRACT (TIME FROM started_at) AS start_time,EXTRACT (DATE FROM ended_at) AS end_ymd,EXTRACT (TIME FROM ended_at) AS end_time

结果采用 yyyy-mm-dd 格式,但我不知道如何处理这些摘录。

下面的标准方法适用于 2 个单个时间戳:

SELECT 

    TIMESTAMP("2010-07-07 10:20:00+00") AS later_timestamp,TIMESTAMP("2008-12-25 15:30:00+00") AS earlier_timestamp,TIMESTAMP_DIFF(TIMESTAMP "2010-07-07 10:20:00+00",TIMESTAMP "2008-12-25 15:30:00+00",HOUR) AS hours;

我有 2 列 包含数百万数据,我不知道如何计算每个 timediff。 非常感谢你们,我从 6 小时开始就在处理这个小问题 smh

解决方法

试试这个:TIMESTAMP_DIFF(ended_at,started_at,minute)

官方文档为 here

,

你提到的“标准方法”应该可以正常工作,你只需要输入一个表名(你的查询因为它存在差异两个常量值,因此返回一个结果):

SELECT  
  started_at,ended_at,TIMESTAMP_DIFF(started_at,MINUTE) AS minutes_between
FROM
  yourtablenamehere

在名为 yourtablenamehere 的 200 万行表上使用它会产生 200 万个时间戳差异 - 小心运行

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。