如何在BigQuery中将DD-MM-YYYY-hh-mm-ss格式字符串转换为指定时间格式
BigQuery 时间格式转换解决方案
PARSE_TIMESTAMP本身支持自定义格式匹配,无需待转换字符串携带T字符,只要指定的格式串和输入字符串结构完全对齐即可正常解析,具体方案如下:
1. 转换为timestamp类型
直接指定与输入字符串匹配的格式串即可完成解析,示例代码:
SELECT PARSE_TIMESTAMP("%d-%m-%Y-%H-%M-%S", "26-09-2021-02-54-03") AS converted_timestamp
执行后将得到标准timestamp类型值,示例输入对应的转换结果为2021-09-26 02:54:03 UTC。如果需要指定时区,可在函数第三个参数传入时区标识,例如"Asia/Shanghai"。
2. 转换为YYYY-MM-DD HH:MM:SS格式的字符串
先将字符串解析为timestamp,再通过FORMAT_TIMESTAMP函数格式化输出即可,示例代码:
SELECT FORMAT_TIMESTAMP("%Y-%m-%d %H:%M:%S", PARSE_TIMESTAMP("%d-%m-%Y-%H-%M-%S", "26-09-2021-02-54-03")) AS formatted_time_str
执行后将得到字符串类型的结果2021-09-26 02:54:03。
格式符说明
%d:匹配两位数值的日期(天)%m:匹配两位数值的月份%Y:匹配四位数值的年份%H:匹配24小时制的两位小时数值%M:匹配两位数值的分钟%S:匹配两位数值的秒数
内容的提问来源于stack exchange,提问作者FJay77
相关产品推荐
相关产品推荐

