time_format 时间不带前导零

time_format without leading zero on it time

我是这样使用函数的

SELECT TIME_FORMAT("01:02:03", "%H-%i-%s")

并得到结果 01-02-03 而我不希望前导零是 1-2-3

我用php,想用str_replace()trim(),但不知道mysql能不能简而言之

01:02:03 > 1-2-3
00:02:03 > 0-2-3
00:00:03 > 0-0-3

我能想到的最简单的解决方案是将小时、分钟和秒分别连接为整数:

SELECT CONCAT_WS('-', HOUR('01:02:03'), MINUTE('01:02:03'), SECOND('01:02:03'))

参见demo