排序不同格式的日期-SQL



我有下面的表,我想按升序排序。下面的命令会起作用,除非不是所有的日期都是正确的格式。其中大多数是YYYY-MM-DD格式,少数是DD/MM/YYYY格式。我该如何分类?我能把它们全部转换成标准格式并进行排序吗?

按saledata desc排序

>47000<2000>37560
ID_NUMBER SALEDATA 销售额
1 2020-09-07
2 2020-03-25 51470
3 2021-06-12 32000
4 2019年11月8日
5 2018-10-12

可以使用:

order by (case when saledata like '%/%/%'
then to_date(saledata, 'MM/DD/YYYY')
else to_date(saledata, 'YYYY-MM-DD')
end)

但是你应该修复数据模型!不要将日期存储为字符串。

相关内容

  • 没有找到相关文章

最新更新