【发布时间】:2020-11-02 15:37:24
【问题描述】:
我使用一个日期表的值减去另一个日期表来创建一个总时间日期表。 但是,我不喜欢这种格式。
CONCAT(
TIMESTAMPDIFF(day,TIME_END,TIME_START), 'd',
MOD(TIMESTAMPDIFF(hour,TIME_END,TIME_START), 24), 'h',
MOD(TIMESTAMPDIFF(minute,TIME_END,TIME_START), 60), 'm'
) AS Total_Times
结果如下所示:
- 0d0h-48m
- -2d-1h-7m
- 0d0h-33m
- 0d0h0m
- -1d-21h-47m
似乎如果数字大于零,它会在它旁边添加一个连字符,否则它会将它旁边的任何内容分组而没有空格。如何让它在零和之间创建一个空格并删除连字符以显示如下:
- 0d 0h 48m
- 2d 1h 7m
- 0d 0h 33m
- 0d 0h 0m
- 1d 21h 47m
注意,在实际日期列 (TIME_END,TIME_START) 中,它们的值写成 2020-11-02 15:32:28。
【问题讨论】:
-
负数前有一个减号。这几乎是标准。
标签: mysql concat date-format sql-timestamp timestampdiff