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

Spark SQL中date_format函数使用MMMM YYYY格式返回值不准确问题

问题根因

这个异常是日期格式符使用错误导致的,和year()函数逻辑没有冲突:

  • date_format中你使用的YYYY是周纪年(week-based year),取值规则是将日期所在的周归属到对应年份:如果某一天属于下一年的第一周,就会返回下一年的年份。2020年12月底的日期刚好归属到2021年的第一周,因此返回2021。
  • 你预期的公历年对应的格式符是yyyy,和year()函数的计算逻辑完全一致。
修复方法

将原格式化逻辑中的格式符替换即可:
原写法:date_format(last_order_date,'MMMM YYYY')
修改为:date_format(last_order_date,'MMMM yyyy')

验证参考

以2020-12-31为例:

原写法返回结果:December 2021
修改后返回结果:December 2020
year('2020-12-31')返回结果:2020
修改后结果和year()函数取值完全匹配,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:36:04