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

BigQuery中DateTime转换:如何移除日期时间间的"T"分隔符

解决方案

首先明确:BigQuery的DATETIME类型本身没有存储格式,yyyy-MM-dd'T'HH:mm:ss只是它的默认字符串展示形式。要实现你要的格式,分两种场景处理:

场景1:需要保持DATETIME数据类型,仅调整展示格式

DATETIME类型的展示格式由查询使用的客户端工具控制,而非BigQuery存储层:

  • BigQuery Web UI:默认显示带T的格式,无法直接修改存储类型的展示格式,但可以通过FORMAT_DATETIME生成对应格式的字符串字段(类型变为STRING),同时保留原DATETIME字段用于后续运算。
  • API/客户端库(如Python、Java):读取DATETIME类型数据后,在本地用语言自带的日期格式化工具转换为带空格的格式。比如Python中用strftime("%Y-%m-%d %H:%M:%S")处理。

场景2:允许返回STRING类型,直接输出目标格式

如果只需要输出yyyy-MM-dd HH:mm:ss格式的结果,无需保留DATETIME类型的运算能力,可以用FORMAT_DATETIME函数直接转换:

SELECT 
  FORMAT_DATETIME("%Y-%m-%d %H:%M:%S", PARSE_DATETIME("%m/%d/%Y %H:%M:%S", field_name)) AS formatted_datetime
FROM 
  your_table_name

这个查询会直接返回带空格分隔的日期时间字符串。

补充说明

如果需要同时保留DATETIME类型的运算能力和目标展示格式,可以在查询中同时返回两个字段:

SELECT 
  PARSE_DATETIME("%m/%d/%Y %H:%M:%S", field_name) AS original_datetime, -- 保留DATETIME类型
  FORMAT_DATETIME("%Y-%m-%d %H:%M:%S", PARSE_DATETIME("%m/%d/%Y %H:%M:%S", field_name)) AS formatted_datetime -- 目标格式字符串
FROM 
  your_table_name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:55:28