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

在BigQuery中格式化日期字段:移除时间部分的实现问题

BigQuery提取日期字段中的日期部分解决方案

以下是几种可行的解决方法,根据你的字段类型选择即可:

  • 推荐:使用DATE()函数(适配时间类型字段)
    如果你的Start Date和End Date是TIMESTAMP或DATETIME类型,直接用DATE()函数就能提取日期部分:

    SELECT
      DATE(`Start Date`) AS `Start Date`,
      DATE(`End Date`) AS `End Date`
    FROM
      你的表名;
    

    如果字段是STRING类型,先转成TIMESTAMP再处理:

    SELECT
      DATE(TIMESTAMP(`Start Date`)) AS `Start Date`,
      DATE(TIMESTAMP(`End Date`)) AS `End Date`
    FROM
      你的表名;
    
  • 简单直接:LEFT()字符串截取
    因为日期部分固定是前10位,不管字段类型是啥,转成字符串后截取前10位就行:

    SELECT
      LEFT(CAST(`Start Date` AS STRING), 10) AS `Start Date`,
      LEFT(CAST(`End Date` AS STRING), 10) AS `End Date`
    FROM
      你的表名;
    
  • 修正正则替换:REGEXP_REPLACE正确用法
    如果你坚持用正则,之前没成功大概率是正则表达式写错了,试试这个写法,把T及后面的所有内容替换为空:

    SELECT
      REGEXP_REPLACE(`Start Date`, r'T.*', '') AS `Start Date`,
      REGEXP_REPLACE(`End Date`, r'T.*', '') AS `End Date`
    FROM
      你的表名;
    

内容的提问来源于stack exchange,提问作者Andres Sebastian Martinez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:02:09