【问题标题】:BigQuery timestamp in mm:ss以 mm:ss 为单位的 BigQuery 时间戳
【发布时间】:2020-10-27 10:13:35
【问题描述】:

我有一个查询,它提供了以下格式的时间戳:

2020-10-25 09:58:21.479 UTC

2020-10-25 10:18:22.737105 UTC

我想做的是计算两次之间的差异并以mm:ss格式显示?对于我的示例,输出将是 20:01

SELECT
MIN(ts) AS session_start_time,
MAX(ts) AS session_end_time,
FROM(
SELECT
  event_date AS date,
  user_pseudo_id AS user_id,
  event_name,
  key,
  value,
  TIMESTAMP_MICROS(event_timestamp) AS ts,
FROM
  `table _name`,
  UNNEST (event_params) AS event_params
WHERE
  _TABLE_SUFFIX BETWEEN "20201025"
  AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
  AND event_name != 'view_search_results'
  AND user_pseudo_id = '4B132ED3654C4293B9820D8203282B0D'
ORDER BY ts ASC

【问题讨论】:

    标签: sql google-analytics google-bigquery


    【解决方案1】:

    您可以使用以下方法获得结果:

    select time_add(time '00:00:00', interval timestamp_diff(max(ts), min(ts), millisecond) millisecond)
    

    然后,如果您希望将其作为特定格式的字符串:

    select time_format('%M:%S', time_add(time '00:00:00', interval timestamp_diff(max(ts), min(ts), millisecond) millisecond))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 2016-07-21
      • 2023-03-11
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2013-08-04
      相关资源
      最近更新 更多