我有下表,我想按升序对其进行排序。下面的命令可以工作,除非我的所有日期格式都正确。它们中的大多数采用 YYYY-MM-DD 格式,少数采用 DD/MM/YYYY 格式。我将如何对它们进行排序?我可以将它们全部转换为标准格式并进行排序吗?
按销售数据 desc 排序
ID_NUMBER | 销售数据 | SALEAMOUNT |
---|---|---|
1 | 2020-09-07 | 47,000 |
2 | 2020-03-25 | 51,470 |
3 | 2021-06-12 | 32,000 |
4 | 08/11/2019 | 21,000 |
5 | 2018-10-12 | 37,560 |
答案 0 :(得分:2)
你可以使用:
order by (case when saledata like '%/%/%'
then to_date(saledata, 'MM/DD/YYYY')
else to_date(saledata, 'YYYY-MM-DD')
end)
但是你应该修复数据模型!不要将日期存储为字符串。