如何在BigQuery中移除时间戳列末尾的错误UTC时区标识?
解决BigQuery时间戳解析后移除UTC标识的问题
问题核心:BigQuery的
TIMESTAMP类型本身自带时区信息(默认显示UTC),直接查询返回的结果会附带UTC标识。要去掉这个标识,需要将TIMESTAMP格式化为不带时区的字符串。直接解决方案:使用
FORMAT_TIMESTAMP函数,把解析后的TIMESTAMP转换成指定格式的字符串,示例代码:
SELECT FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%E*S', PARSE_TIMESTAMP('%b %d, %Y @ %H:%M:%E*S', `timestamp`)) AS formatted_time
执行后会输出类似2023-09-14 13:08:53.588的结果,没有UTC后缀。
- 额外提示:如果你的原始时间字符串并非UTC时区,解析时记得指定正确时区,避免时间偏差。比如原始时间是北京时间,代码要改成:
SELECT FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%E*S', PARSE_TIMESTAMP('%b %d, %Y @ %H:%M:%E*S', `timestamp`, 'Asia/Shanghai')) AS formatted_time
内容的提问来源于stack exchange,提问作者jay
相关产品推荐
相关产品推荐

