如何将访问开始时间转换为可读的人类日期或大查询的时间戳



我正在尝试将访问启动时间变量转换为可读日期或最好的时间戳。

我正在使用标准SQL。

我已经尝试使用sec_to_timestamp,但我相信这仅适用于bq中的传统sql。

Google文档谈论从日期表达式和字符串表达式转换为时间戳,但是访问开始时间是整数。

https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators

我已经查看了以下链接并尝试了此代码,但是我会发现错误"找不到函数:整数"

大查询 - Google Analytics(Google Analytics) - 首次访问和购买之间的时间差异

BQ捕获的有关日期/时代的任何其他建议将得到大量收到。

谢谢

假设您的开始时间相对于Unix时期,则可以使用TIMESTAMP_SECONDS将其转换为时间戳。例如:

#standardSQL
SELECT
  TIMESTAMP_SECONDS(start_time_sec) AS timestamp
FROM (
  SELECT 1488303123 AS start_time_sec
);

如果要将时间戳转换为日期,则可以使用可选时区使用EXTRACT

#standardSQL
SELECT
  EXTRACT(DATE FROM TIMESTAMP_SECONDS(start_time_sec)
          AT TIME ZONE 'America/Los_Angeles') AS date
FROM (
  SELECT 1488303123 AS start_time_sec
);

我正在biqquery中的ga_realtime_sessions表中寻找最讨厌的访问时间。我解析了时间戳,如下:

SELECT
  visitStartTime, 
  TIMESTAMP_SECONDS(visitStartTime) as starttime_UTC,
  DATETIME(TIMESTAMP_SECONDS(visitStartTime), "Europe/Amsterdam") as starttime_LOCAL,
FROM `ga_sessions_*`
ORDER BY visitStartTime desc 
LIMIT 30

产生诸如:

的记录
Row visitStartTime  starttime_UTC             starttime_LOCAL   
1   1562153975      2019-07-03 11:39:35 UTC   2019-07-03T13:39:35

最新更新