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

如何用Databricks SQL更新日期字段年份(0026改为2026)

问题描述

现有如下结构的表格:

id|week|start_date
1,4, 0026-10-23T00:00:00.000+00:00
2,5, 0026-09-22T00:00:00.000+00:00
3,6, 0026-09-25T00:00:00.000+00:00

需要编写Databricks SQL语句更新start_date字段的年份,将其中的0026替换为2026,最终得到结果:

id|week|start_date
1,4, 2026-10-23T00:00:00.000+00:00
2,5, 2026-09-22T00:00:00.000+00:00
3,6, 2026-09-25T00:00:00.000+00:00

解决方案

根据start_date的存储类型,有两种实现逻辑:

1. 当start_date为字符串类型

直接使用字符串替换函数REPLACE修改年份,同时通过WHERE条件过滤目标行:

UPDATE your_table_name
SET start_date = REPLACE(start_date, '0026-', '2026-')
WHERE start_date LIKE '0026-%';
  • 精准替换字符串开头的0026-,避免误替换其他位置的相似字符
  • WHERE条件只处理需要更新的行,提升执行效率

2. 当start_date为日期/时间戳类型

需要先将日期类型转为字符串完成替换,再转回原类型:

UPDATE your_table_name
SET start_date = TO_TIMESTAMP(REPLACE(CAST(start_date AS STRING), '0026-', '2026-'))
WHERE YEAR(start_date) = 26;
  • 用CAST将日期转为字符串,替换后通过TO_TIMESTAMP转回时间戳类型
  • 用YEAR(start_date) = 26精准过滤出年份为26的行,避免误更新

验证更新结果

执行更新后,可通过以下语句确认结果:

SELECT id, week, start_date FROM your_table_name;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:04:53