我的一个列将作为 TIME 类型出现,但我希望它作为 INT 类型出现,因为这些值在 Tableau 中不能很好地转换。
我尝试像这样运行 CAST 函数:
CAST(ride_length AS INT) AS ride_length,
有人在上一个问题中提出了以下建议:
SELECT (DATEPART(hour, Col1) * 3600) + (DATEPART(minute, Col1) * 60) + DATEPART(second, Col1) as SecondsFromMidnight FROM T1;
DATEPART 在 BigQuery 中不起作用,并且我没有看到适用于文档的 DATE 函数。
将
TIME
转换为秒:
SELECT (EXTRACT(HOUR FROM TIME(ride_length)) * 3600) + (EXTRACT(MINUTE FROM TIME(ride_length)) * 60) + EXTRACT(SECOND FROM TIME(ride_length)) as SecondsFromMidnight FROM T1;
更多信息:https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions#extract
代替
CAST
使用这个:
TIME_TO_SEC(ride_length) AS ride_length
将 TIME 转换为秒。