gpt4 book ai didi

MySQL:如何使用RFC112格式对日期进行排序?

转载 作者:行者123 更新时间:2023-11-29 07:00:44 25 4
gpt4 key购买 nike

例如,我有一个名为 date 的列在我的 table 上 post我想在 ascending 中对其进行排序.

在我的 date列我用RCF112格式填充,例如:Sun, 22 APR 2012 5:21:22 .

首先我从这个命令开始:

SELECT * 
FROM post
ORDER BY date ASC

但结果似乎不正确,因为它是根据其字符串排序的,例如。 Sun, 15 APR 2012将早于 Wed,11 APR 2012因为“Sun”以“S”开头,按字母顺序在“W”之前,所以“Sun, 15 APR 2012”首先出现。

如何更正此命令?

最佳答案

您需要将字符串解析为日期时间才能正确排序。

使用你的格式,你可以尝试这样的事情:

STR_TO_DATE('Sun, 22 APR 2012 5:21:22', '%a, %e %b %Y %h:%i:%S')

创建日期 2012-04-22 05:21:22

因此,您的查询应如下所示:

SELECT * 
FROM post
ORDER BY
STR_TO_DATE(date, '%a, %e %b %Y %h:%i:%S')
ASC

正如其他人可能已经建议的那样,您可以使用 datetime 字段类型并在选择中设置日期格式 (date_format http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format ) 以满足您的要求。

关于MySQL:如何使用RFC112格式对日期进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com