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

PySpark to_date函数返回NULL问题求助

问题解决:字符串转日期后全为NULL的修复方案

你的转换结果全部为NULL,核心问题是日期格式符号使用错误,具体修正点如下:

  • 把大写的DD改成小写的dd:DD表示「一年中的第几天」,而你数据里的是每月的具体日期,对应格式符是dd
  • 把大写的YYYY改成小写的yyyy:YYYY是基于周的周年,日常日期转换应该用代表公历年的yyyy

修正后的代码:

spark.sql("set spark.sql.legacy.timeParserPolicy=LEGACY")
workerdf = worker_df.withColumn('JOINING_DATE', to_date(col('JOINING_DATE_STR'), "dd-MM-yyyy"))

额外检查点:如果还有部分值为NULL,建议排查JOINING_DATE_STR列的字符串是否存在格式不统一的异常值(比如日期超过当月最大天数、非dd-MM-yyyy格式的字符串),这类异常值也会导致转换失败返回NULL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:25:53