如何使用BigQuery PARSE_TIMESTAMP解析下划线拼接的DateTime字符串?
问题根因
解析失败是因为小时部分的格式占位符使用错误:
- 你写的
%I对应的是12小时制的小时值,合法取值范围是01-12,而你传入的时间小时位是13,超出了12小时制的取值范围,直接触发解析报错。 - 你的时间戳用的是24小时制计时,对应的正确占位符是
%H,它的合法取值范围是00-23,完全匹配2022_05_26_13_52_05这类时间串的小时规则。
修正后的查询语句
SELECT PARSE_TIMESTAMP("%Y_%m_%d_%H_%M_%S", "2022_05_26_13_52_05") from `Something.test.my_table_name_*`
补充说明
两个容易混淆的小时占位符区别:
%H:24小时制小时,取值00-23,适配你当前的时间格式%I:12小时制小时,取值01-12,使用时必须搭配%p匹配AM/PM标识,否则会出现解析错误或者时间值偏差
内容的提问来源于stack exchange,提问作者Zichen Ma
相关产品推荐
相关产品推荐

