gpt4 book ai didi

mysql - 从 TIME_FORMAT() 中删除 00 值

转载 作者:可可西里 更新时间:2023-11-01 07:15:48 28 4
gpt4 key购买 nike

来自这个查询

SELECT TIME_FORMAT("19:00:00", "%H Hours, %i Minutes, %s Seconds");

我得到结果 19 小时 00 分钟 00 秒

我想要得到的是 19 小时 仅当 Minutes and Seconds = 00 时。

如果我有 19:00:55 我希望得到 19 小时 55 秒

如果我有 19:55:00,我希望得到 19 小时 55 分钟

通过使用 SQL 删除 00

最佳答案

我测试过这个:

SET @t = '19:00:00';

SELECT CONCAT_WS(', ',
CONCAT(NULLIF(TIME_FORMAT(@t, '%H'), '00'), ' hours'),
CONCAT(NULLIF(TIME_FORMAT(@t, '%i'), '00'), ' minutes'),
CONCAT(NULLIF(TIME_FORMAT(@t, '%s'), '00'), ' seconds')) AS time_expr;

输出:

+-----------+
| time_expr |
+-----------+
| 19 hours |
+-----------+

当我为其他事情设置时间时:

SET @t = '19:00:05';

输出:

+----------------------+
| time_expr |
+----------------------+
| 19 hours, 05 seconds |
+----------------------+

它甚至可以处理零小时:

SET @t = '00:43:00';

输出:

+------------+
| time_expr |
+------------+
| 43 minutes |
+------------+

关于mysql - 从 TIME_FORMAT() 中删除 00 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48045683/

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