如何在Google BigQuery中转换Timestamp与Datetime至带六位微秒的格式
Google BigQuery 时间格式转换解决方案
1. Timestamp 格式从 HH:MM:SS 转为 HH:MM:SS.SSSSSS
BigQuery 的 TIMESTAMP 类型本身包含微秒精度,显示为 HH:MM:SS 只是默认格式限制。用 FORMAT_TIMESTAMP 函数指定带微秒的格式即可:
SELECT original_timestamp, FORMAT_TIMESTAMP('%H:%M:%E6S', original_timestamp) AS timestamp_with_microseconds FROM `your-project.your-dataset.your-table`;
- 格式说明:
%H对应24小时制小时,%M对应分钟,%E6S强制输出6位微秒(不足补0)。哪怕原Timestamp的微秒为0,也会生成HH:MM:SS.000000格式的结果。
2. Datetime 格式从 YYYY-MM-DD HH:MM:SS 转为 YYYY-MM-DD HH:MM:SS.SSSSSS
BigQuery 的 DATETIME 类型仅支持秒级精度,可通过两种方式实现转换:
方法1:类型转换+格式化(推荐)
先将 DATETIME 转为 TIMESTAMP(自动补0微秒),再格式化输出:
SELECT original_datetime, FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%E6S', CAST(original_datetime AS TIMESTAMP)) AS datetime_with_microseconds FROM `your-project.your-dataset.your-table`;
方法2:字符串拼接(简单直接)
直接在原Datetime字符串后拼接固定微秒后缀:
SELECT original_datetime, CONCAT(CAST(original_datetime AS STRING), '.000000') AS datetime_with_microseconds FROM `your-project.your-dataset.your-table`;
- 两种方法都能将示例输入
2023-06-23 00:00:00转换为2023-06-23 00:00:00.000000。
内容的提问来源于stack exchange,提问作者sayanti bhattacharjee
相关产品推荐
相关产品推荐

