gpt4 book ai didi

MYSQL ORDER BY 日期类型 Varchar

转载 作者:行者123 更新时间:2023-12-04 02:35:15 24 4
gpt4 key购买 nike

我想根据日期对我的结果集进行排序,日期是 varchar 类型,格式为 (dd/MMM/YYYY),但问题是它无法正常工作。经过大量搜索后,我正在使用此查询,但仍然无法获得我想要的结果。

SELECT `batch_expiry` FROM `batchwise_stock` ORDER BY str_to_date(`batch_expiry`, '%d/%m/%Y')

排序不正确,但得到这个排序的日期

29/Apr/2020
03/May/2020
16/May/2020
12/May/2020
14/May/2020

请需要帮助,在此先感谢。

最佳答案

问题是您的日期不是 %Y/%m/%d 格式。在这种格式中,月份是数字。您的格式是 %Y/%b/%d,因此请使用:

order by str_to_date(batch_expiry, '%d/%b/%Y')

Here是一个数据库<> fiddle 。

您的表达式的结果是 NULL,因为日期列无法转换为该格式。所有 order by 键都是等价的,因此结果集中的顺序是任意的。

正如 Strawberry 在评论中指出的那样,您应该使用正确的类型而不是字符串来存储日期值。

关于MYSQL ORDER BY 日期类型 Varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62251700/

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