无法正确按日期排序

问题描述 投票:1回答:2

而不是按天订购,而是按月订购。

我尝试过str_to_date,但在Spark sql中没有,并尝试在date_format中重复order by,但没有成功

enter image description here

apache-spark apache-spark-sql databricks
2个回答
0
投票

当您将日期格式化为字符串时,将按字符串顺序进行排序。一种解决方案是更改格式,以便首先出现年份,然后是月份,然后是日期。更好的方法是按“日期”列(ttr.created_at)而不是格式化的字符串排序。


0
投票

尝试下面的代码

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()
© www.soinside.com 2019 - 2024. All rights reserved.