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

Azure Databricks SQL字符串转日期返回Null问题求助

解决Azure Databricks SQL字符串日期转日期类型返回Null的问题

问题原因

Databricks SQL的cast函数默认只识别yyyy-MM-dd格式的字符串日期,而你的数据是yyyy/MM/dd(比如'2022/08/22')格式,不符合默认规则,所以转换失败返回Null。

解决方案

  • 方法1:用to_date指定日期格式
    这是最直接的方式,明确告诉函数你的日期字符串格式:

    select to_date(ColumnName, 'yyyy/MM/dd') from TableName;
    

    格式符说明:yyyy代表四位年份,MM代表两位月份,dd代表两位日期,和你的数据格式完全匹配即可。

  • 方法2:替换分隔符后再用cast
    把日期字符串里的/替换成默认识别的-,再做转换:

    select cast(replace(ColumnName, '/', '-') as date) from TableName;
    
  • 方法3:兼容无效日期的try_to_date
    如果表中存在格式不一致的日期字符串,用try_to_date可以避免查询报错,仅对格式匹配的字符串转换,不匹配的返回Null:

    select try_to_date(ColumnName, 'yyyy/MM/dd') from TableName;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:06:24