我正在从ADLS位置读取文件,在那一列Period_Ending_Date是数据类型为STRING。Period_Ending_Date有许多随机顺序的日期,我需要应用过滤器来获取最新的日期。
我正在尝试这个代码:
select * from final_tableWHERE Period_Ending_Date = (SELECT MAX(Period_Ending_Date) FROM final_table)
但问题是我得到的是最大值,而不是最晚的日期。我可以理解这是因为STRING数据类型而发生的。请指导我如何将此列更改为DATE数据类型或任何其他替代方案,以获得此解决方案。
我在Azure Databricks上使用Scala和SQL。
如何将SELECT MAX(Period_Ending_Date) FROM final_table
更改为SELECT MAX(cast(Period_Ending_Date as date)) FROM final_table
-如果日期格式为ISO8601 (YYYY-MM-DD),执行显式转换日期或使用to_date
函数(doc)转换非标准日期。