[英]Sort by varchar date entry in SQL
I want to sort my table by DATE
which is a varchar holding date information like this:我想按DATE
对我的表进行排序,这是一个保存日期信息的 varchar,如下所示:
January 06, 2023 // format is Month Day, Year
I want to sort by date but it doesn't work since this is not datetime.我想按日期排序,但它不起作用,因为这不是日期时间。 I've tried casting DATE
but it doesn't seem to work.我试过投射DATE
但它似乎不起作用。 I tried like this:我试过这样的:
SELECT * FROM receipt WHERE ID=? ORDER BY CAST(DATE AS datetime) DESC
I also tried convert
but it did not work either, I must be using the syntax wrong.我也试过convert
但它也没有用,我一定是使用了错误的语法。
How can I sort by date if my DATE
entry is of type varchar.如果我的DATE
条目是 varchar 类型,我如何按日期排序。
In MySQL you can use str_to_date
with the appropriate date format to convert a varchar to a date:在 MySQL 中,您可以使用具有适当日期格式的str_to_date
将 varchar 转换为日期:
SELECT * FROM receipt WHERE ID=? ORDER BY STR_TO_DATE(date, '%M %d, %Y') DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.