简体   繁体   English

按 SQL 中的 varchar 日期条目排序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM