5

如题。在使用标准 SQL 时,是否有比 EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime)) 更短的方法从存储为整数的时间戳中提取小时(或其他日期部分)?

4

1 回答 1

5

当你觉得某些东西应该有更短的表达方式时, 你可以使用用户定义的函数

请参阅下面的示例

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) 
于 2017-03-30T13:30:50.800 回答