You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中将带小数秒的Timestamp格式化为指定字符串?

BigQuery中Timestamp转无符号字符串(含小数秒)的解决方案

方案1:正则替换(简单通用)

直接将Timestamp转为字符串后,移除所有非数字字符:

SELECT REGEXP_REPLACE(CAST(TIMESTAMP '2022-01-02 13:00:01.5849' AS STRING), r'[^0-9]', '')

执行结果:202201021300015849

方案2:FORMAT_TIMESTAMP精确格式化

通过指定包含小数秒的格式符生成目标字符串:

SELECT FORMAT_TIMESTAMP('%Y%m%d%H%M%S%4f', TIMESTAMP '2022-01-02 13:00:01.5849')
  • %Y%m%d%H%M%S:生成年月日时分秒的无分隔符部分
  • %4f:截取前4位小数秒(BigQuery Timestamp默认是6位微秒精度,此写法保留前4位)

原方法失效原因

你之前用的FORMAT_DATE仅处理日期数据,会自动忽略Timestamp中的时间(包括小数秒)部分,因此只能得到整数秒之前的内容。FORMAT_TIMESTAMP是专门针对Timestamp类型的格式化函数,支持时间和小数秒的配置。

内容的提问来源于stack exchange,提问作者getunstuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:35:34