mm:ss 中的 BigQuery 时间戳

BigQuery timestamp in mm:ss

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

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

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

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))