与主题一样。虽然使用standard-sql是一种从存储为整数的时间戳中提取小时(或其他日期部分)的简短方法,而不是EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime))?
答案 0 :(得分:4)
在这种情况下,当您觉得某些内容应该有更短的表达方式时,您可以使用User-Defined Functions
见下面的例子
CREATE TEMPORARY FUNCTION HOUR(time INT64)
RETURNS INT64 AS (
EXTRACT(HOUR FROM TIMESTAMP_SECONDS(time))
);
SELECT
HOUR(visitStartTime) as `shorertWay`,
EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime)) as `longerWay`
FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_20130910`
LIMIT 10
所以,现在而不是
EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime))
你可以使用
HOUR(visitStartTime)