在 bigQuery 上以字符串格式从时间戳中提取小时

Extract hour from timestamp in string format on bigQuery

我有一个字符串格式的时间戳,看起来像 2010-02-02T07:54:40Z。如何从此时间戳中获取 HOUR

我试过 SELECT dt, EXTRACT(HOUR FROM dt) FROM table 但我收到此错误:

No matching signature for function EXTRACT for argument types: DATE_TIME_PART FROM STRING. Supported signatures: EXTRACT(DATE_TIME_PART FROM DATE); EXTRACT(DATE_TIME_PART FROM TIMESTAMP [AT TIME ZONE STRING]); EXTRACT(DATE_TIME_PART FROM DATETIME); EXTRACT(DATE_TIME_PART FROM TIME); EXTRACT(DATE_TIME_PART FROM INTERVAL) 

如何从 2010-02-02T07:54:40Z 获取 HOUR

首先您需要将字符串转换为时间戳,然后需要提取小时。 我在我的项目中重复了这个问题,这里是解决方案。

查询部分-(ts_string 是字符串数据类型的列名) 摘录(小时 从 CAST(ts_string AS 时间戳)) AS hour_extracted