如何在BigQuery中将字符串格式的00:07:35.000000转换为时间格式?
BigQuery中转换字符串时间为指定格式的方法
你手里的字符串00:07:35.000000要转成00:07:35的时间格式,用CAST转INTERVAL的方式不太合适——INTERVAL是时间间隔类型,不是你需要的TIME类型。推荐用下面的方法处理:
核心方案:结合PARSE_TIME与FORMAT_TIME函数
先用PARSE_TIME把字符串解析成标准TIME类型,再用FORMAT_TIME剔除微秒部分,得到目标格式。
完整SQL示例:
SELECT ride_time, FORMAT_TIME("%H:%M:%S", PARSE_TIME("%H:%M:%E6S", ride_time)) AS ride_time_hr FROM your_table
PARSE_TIME("%H:%M:%E6S", ride_time):按照HH:MM:SS.ffffff的格式规则,把字符串解析成BigQuery的TIME类型FORMAT_TIME("%H:%M:%S", ...):将解析后的TIME值格式化为不带微秒的HH:MM:SS格式
如果只是需要把字符串转成TIME类型存储(无需控制显示格式),直接使用PARSE_TIME("%H:%M:%E6S", ride_time)即可,BigQuery会正确存储该时间值,后续可按需格式化输出。
内容的提问来源于stack exchange,提问作者Jebarson J
相关产品推荐
相关产品推荐

