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

在Databricks SQL中将mm/dd/yyyy字符串日期转为yyyy-mm-dd遇空值问题

Databricks SQL中mm/dd/yyyy字符串转日期类型返回null的解决方法

直接用date(date_col)或者date(CAST(date_col as timestamp))返回null,是因为Databricks SQL默认的日期解析格式不匹配mm/dd/yyyy,导致无法识别字符串里的日期,最终返回空值。

正确的做法是使用to_date()函数并指定日期格式参数,这个函数支持自定义解析规则,完美适配你的场景:

SELECT to_date(date_col, 'MM/dd/yyyy') AS formatted_date
FROM your_table;
  • MM代表两位数的月份(比如05对应5月),dd是两位数的日期,yyyy是四位年份,完全匹配你的mm/dd/yyyy格式字符串。
  • 如果你的日期字符串存在单数字的月/日(比如5/3/2024),把格式参数改成'M/d/yyyy'即可。

如果想避免转换失败时返回null,可以用coalesce()设置默认值:

SELECT coalesce(to_date(date_col, 'MM/dd/yyyy'), date('1900-01-01')) AS formatted_date
FROM your_table;

验证示例:
假设表中有一条数据date_col = '03/15/2024',执行上述第一个SQL语句,会返回日期类型的2024-03-15,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:22:05