SQL 如何在 SQL 查询中将毫秒数从 table 转换为 HH:MM:SS?
SQL How to convert Milliseconds from a table to HH:MM:SS in SQL Query?
PHP 版本:7.3.6 使用 phpMyAdmin
我看过一些关于此的帖子,但我一直在努力寻找适合我的答案。我正在尝试让比赛结果时间显示在 HH:MM:SS 中,目前在 table
中以毫秒为单位
SELECT
MIN(Result.Time) AS MinTime, event_cat_id
FROM
Wp_wpa_result Result
INNER JOIN Wp_wpa_event Race ON Result.Event_id = Race.Id
WHERE Race.Sub_type_id = 'R' AND Age_grade <> 'null' AND event_cat_id IN ( '30', '11', '12', '13', '14', '17', '20', '19', '15' )
GROUP BY event_cat_id
)
SELECT U.Display_name, EVC.Name AS EventDistance, EV.name AS RaceName, MinTime, EV.Date, RE.Age_Grade AS AgeGrade, EV.Sub_type_id AS Terrain, EV.Date AS RaceDate
FROM CTE
INNER JOIN Wp_wpa_event_cat EVC ON EVC.id = CTE.event_cat_id
INNER JOIN Wp_wpa_event EV ON EV.Event_cat_id = CTE.event_cat_id
INNER JOIN Wp_wpa_result RE ON EV.id = RE.event_id AND CTE.MinTime = RE.Time
INNER JOIN wp_users U ON U.ID = RE.user_id
ORDER BY MinTime;
Display_name ||事件距离 ||种族名称 ||最短时间 ||日期 ||年龄等级 ||地形 ||比赛日期
戴夫博客 || 5k 沃登广场 5k || 1042000 || 2019/06/04 || 74.76 || R || 2019 年 6 月 4 日
不过应该是
戴夫博客 || 5k 沃登广场 5k || 00:17:14 || 2019/06/04 || 74.76 || R || 2019 年 6 月 4 日
谢谢,
亚当
您需要函数 sec_to_time()
:
sec_to_time(MinTime / 1000)
如果你想将结果格式化为 hh:mm:ss
那么也可以使用 time_format()
:
time_format(sec_to_time(MinTime / 1000), '%H %i %s')
PHP 版本:7.3.6 使用 phpMyAdmin
我看过一些关于此的帖子,但我一直在努力寻找适合我的答案。我正在尝试让比赛结果时间显示在 HH:MM:SS 中,目前在 table
中以毫秒为单位SELECT
MIN(Result.Time) AS MinTime, event_cat_id
FROM
Wp_wpa_result Result
INNER JOIN Wp_wpa_event Race ON Result.Event_id = Race.Id
WHERE Race.Sub_type_id = 'R' AND Age_grade <> 'null' AND event_cat_id IN ( '30', '11', '12', '13', '14', '17', '20', '19', '15' )
GROUP BY event_cat_id
)
SELECT U.Display_name, EVC.Name AS EventDistance, EV.name AS RaceName, MinTime, EV.Date, RE.Age_Grade AS AgeGrade, EV.Sub_type_id AS Terrain, EV.Date AS RaceDate
FROM CTE
INNER JOIN Wp_wpa_event_cat EVC ON EVC.id = CTE.event_cat_id
INNER JOIN Wp_wpa_event EV ON EV.Event_cat_id = CTE.event_cat_id
INNER JOIN Wp_wpa_result RE ON EV.id = RE.event_id AND CTE.MinTime = RE.Time
INNER JOIN wp_users U ON U.ID = RE.user_id
ORDER BY MinTime;
Display_name ||事件距离 ||种族名称 ||最短时间 ||日期 ||年龄等级 ||地形 ||比赛日期
戴夫博客 || 5k 沃登广场 5k || 1042000 || 2019/06/04 || 74.76 || R || 2019 年 6 月 4 日
不过应该是
戴夫博客 || 5k 沃登广场 5k || 00:17:14 || 2019/06/04 || 74.76 || R || 2019 年 6 月 4 日
谢谢, 亚当
您需要函数 sec_to_time()
:
sec_to_time(MinTime / 1000)
如果你想将结果格式化为 hh:mm:ss
那么也可以使用 time_format()
:
time_format(sec_to_time(MinTime / 1000), '%H %i %s')