是否有比 EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime)) 更短的方法从存储为整数的时间戳中提取小时?

Is there a shorter way to extract hour from timestamp stored as integer than EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime))?

如题。在使用 standard-sql 时,是否有比 EXTRACT(HOUR FROM TIMESTAMP_SECONDS(visitStartTime))?

更短的方法从存储为整数的时间戳中提取小时(或其他日期部分)

你可以在这种情况下使用 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)