无法正确按日期排序
Posted
技术标签:
【中文标题】无法正确按日期排序【英文标题】:Can't sort by date correctly 【发布时间】:2019-11-08 17:02:05 【问题描述】:不是按天排序,而是按月排序。
我试过str_to_date
,但在spark sql中没有,并尝试在order by
中重复date_format
但没有成功
【问题讨论】:
【参考方案1】:试试下面的代码
import org.apache.spark.sql.functions._
spark.sql("""
SELECT TO_DATE(CAST(UNIX_TIMESTAMP(ttr.created_at, 'dd/MM/yyyy') AS TIMESTAMP)) AS data from dl_wallet.tb_transaction as ttr order by data desc """
).show()
【讨论】:
【参考方案2】:当您将日期格式化为字符串时,排序是按字符串顺序完成的。一种解决方案是更改格式,使年份先出现,然后是月份,然后是日期。更好的方法是按日期列 (ttr.created_at) 而不是格式化字符串。
【讨论】:
好的,保持格式不变,但将排序改为ORDER BY ttr.created_at
以上是关于无法正确按日期排序的主要内容,如果未能解决你的问题,请参考以下文章
如何以正确的顺序链接查询集,而不是按日期排序,按foreignKey排序?