mysql 在SQL中按varchar日期条目排序

w3nuxt5m  于 2023-01-12  发布在  Mysql
关注(0)|答案(1)|浏览(144)

我想按DATE对表进行排序,这是一个保存日期信息的varchar,如下所示:

January 06, 2023 // format is Month Day, Year

我想按日期排序,但不起作用,因为这不是datetime。我试过强制转换DATE,但似乎不起作用。我尝试如下:

SELECT * FROM receipt WHERE ID=? ORDER BY CAST(DATE AS datetime) DESC

我也试过convert,但也不起作用,我一定是用错了语法。
如果我的DATE条目是varchar类型,我如何按日期排序?

euoag5mw

euoag5mw1#

在MySQL中,可以使用str_to_date和适当的日期格式将varchar转换为日期:

SELECT * FROM receipt WHERE ID=? ORDER BY STR_TO_DATE(date, '%M %d, %Y') DESC

相关问题