我将日期和时间作为输入传递。
' 2015-01-12 10:30:00'和' 2015-01-13 11:30:00'像这样。 我们可以在时间戳之间找到天,小时,小步,秒等。使用名为 timestampdiff()的函数。
我尝试了这个查询。
SELECT TIMESTAMPDIFF(HOUR,'2015-01-12 10:30:00','2015-01-13 11:30:00')/24 FROM DUAL
但它给我输出 1.04 。
我的要求是两个日期之间的确切日期和时间。
例: ' 2015-01-12 10:30:00'和' 2015-01-13 11:30:00'为此
输出 1天1小时。
谢谢。答案 0 :(得分:2)
只需调用该功能两次。要使用您想要的句子获得结果,您可以执行以下操作:
SELECT CONCAT(
TIMESTAMPDIFF(DAY,'2015-01-12 10:30:00', '2015-01-13 11:30:00'),
" day(s) and ",
TIMESTAMPDIFF(HOUR,'2015-01-12 10:30:00', '2015-01-13 11:30:00') % 24,
" hour(s)");
如果您还想要月份或分钟间隔,只需再添加一个函数调用和相应的模数
答案 1 :(得分:0)
此查询可以为您提供所需的输出
SELECT CONCAT(
TIMESTAMPDIFF(DAY,'2015-01-12 10:30:00', '2015-01-13 11:30:00'),
"day(s) and ",
TIMESTAMPDIFF(HOUR,'2015-01-12 10:30:00', '2015-01-13 11:30:00') % 24,
" hour(s)");