我有一个查询,它为我提供以下格式的时间戳:
2020-10-25 09:58:21.479 世界标准时间
2020-10-25 10:18:22.737105 世界标准时间
我想做的是计算两个时间之间的差异并以 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))
关于sql - BigQuery 时间戳(以毫米为单位):ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64552234/