如何在BigQuery中使用parse_timestamp将字符串转换为日期?
BigQuery中解析带时区和小数秒的时间字符串为日期
你的目标是将形如"2022-12-12T14:17:41.9626+03:00"的字符串转换为日期,核心是匹配字符串的完整格式来使用PARSE_TIMESTAMP函数,以下是具体实现:
正确的SQL语句
DATE(PARSE_TIMESTAMP("%Y-%m-%dT%H:%M:%E4S%Ez", receivedAt))
格式符说明
%Y-%m-%dT%H:%M::匹配日期和时分部分,和你原写法一致%E4S:匹配四位小数秒(对应字符串中的.9626);如果你的小数秒位数不固定(比如有时3位、有时5位),可以改用%f(匹配0-6位小数秒)%Ez:匹配带冒号的时区偏移(对应字符串中的+03:00)
为什么原写法不适用
你原代码中的格式"%Y-%m-%dT%H:%M:%SZ"只适配不带小数秒、时区为UTC(以Z结尾)的字符串,无法匹配带小数秒和时区偏移的目标字符串,因此需要调整格式符来完全匹配目标字符串的结构。
内容的提问来源于stack exchange,提问作者Bengu Atici
相关产品推荐
相关产品推荐

