gpt4 book ai didi

php - MySQL 按时间顺序存储为 HH :MM:SS

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:16 25 4
gpt4 key购买 nike

我有一个 varchar 类型的字段,它以这种格式存储字符串 HH:MM:SS01:25:59(有时没有 HH 部分,例如 25:59)。

我想根据这个时间降序排列结果,为此我使用了 [str_to_date()][1] 函数,目前我正在使用 str_to_date($ field_value,'%l:%i:%s') DESC 实现这种排序。

奇怪的是,通过使用这种格式 %l:%i:%s 所有在 MM:SS 格式中具有此字段的帖子都被正确排序,但那些在 HH:MM:SS 不是。

1-所以如果我有这些值:

11:35
15:20
48:00
01:57:47
01:20:26

2-它们被排序为:

48:00
01:20:26
15:20
11:35
01:57:47

3-哪个是错误的,应该是:

01:57:47
01:20:26
48:00
15:20
11:35

正如您在 (2) 中看到的,只有 HH:MM:SS 格式的时间未正确放置 (DESC)

如何进行正确的排序?

最佳答案

这个呢?

SELECT  * FROM tbl 
ORDER BY TIME_TO_SEC(IF(LENGTH(str_time)<6,CONCAT("00:",str_time),str_time)) DESC

fiddle 演示:http://sqlfiddle.com/#!9/4b5da/3

关于php - MySQL 按时间顺序存储为 HH :MM:SS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911601/

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