BigQuery获取firebase analytics的事件\u时间戳和当前时间戳之间的差异
我正在使用与Firebase Analytics集成的bigquery,并试图查询事件时间戳和当前时间戳(以小时为单位)之间的差异。我是这样说的:BigQuery获取firebase analytics的事件\u时间戳和当前时间戳之间的差异,firebase,google-bigquery,firebase-analytics,Firebase,Google Bigquery,Firebase Analytics,我正在使用与Firebase Analytics集成的bigquery,并试图查询事件时间戳和当前时间戳(以小时为单位)之间的差异。我是这样说的: SELECT TIMESTAMP_DIFF(event_timestamp, CURRENT_TIMESTAMP(), HOUR) FROM my-firebase-analytics-table WHERE event_name = 'session_start' 通过这个查询,我得到了一个错误,时间戳,当前时间戳,小时。错误是: 参数类型的函数
SELECT TIMESTAMP_DIFF(event_timestamp, CURRENT_TIMESTAMP(), HOUR)
FROM my-firebase-analytics-table
WHERE event_name = 'session_start'
通过这个查询,我得到了一个错误,时间戳,当前时间戳,小时。错误是:
参数类型的函数TIMESTAMP_DIFF没有匹配的签名:INT64,TIMESTAMP,DATE_TIME_PART。支持的签名:TIMESTAMP\u DIFFTIMESTAMP、TIMESTAMP、DATE\u TIME\u PART
对于我所做的测试,我可以得到的是event_timestamp字段不是timestamp字段。它们是我将其转换为时间戳的一种方式吗?通常,如果它是INT64,则它以毫秒为单位显示 要转换为时间戳,请使用int64_表达式,如下例所示
#standardSQL
SELECT TIMESTAMP_DIFF(TIMESTAMP_MILLIS(event_timestamp), CURRENT_TIMESTAMP(), HOUR)
FROM `project.dataset.my-firebase-analytics-table`
WHERE event_name = 'session_start'
显然,它可以是以秒或微秒为单位的INT64,因此在本例中,您将使用相应的对应项——TIMESTAMP_micross或TIMESTAMP_seconds通常,如果它是INT64,则从历元开始以毫秒为单位显示 要转换为时间戳,请使用int64_表达式,如下例所示
#standardSQL
SELECT TIMESTAMP_DIFF(TIMESTAMP_MILLIS(event_timestamp), CURRENT_TIMESTAMP(), HOUR)
FROM `project.dataset.my-firebase-analytics-table`
WHERE event_name = 'session_start'
显然,它可以是INT64,以秒或微秒为单位-因此在本例中,您将使用相应的对应项-TIMESTAMP_micross或TIMESTAMP_secondsFirebase Analytics->BigQuery将事件时间戳存储为微秒:事件时间戳整数以微秒为单位的时间,事件在客户端上记录的UTC。此处记录了整个模式:Firebase Analytics->BigQuery将事件时间戳存储为微秒:事件时间戳整数事件记录在客户端上的时间(以微秒为单位,UTC)。此处记录了整个模式: