Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询帮助获取确切的日期时间差_Mysql - Fatal编程技术网

Mysql 查询帮助获取确切的日期时间差

Mysql 查询帮助获取确切的日期时间差,mysql,Mysql,我有一个查询,它获取插入记录的时间和日期与当前日期之间的差异 这是一个例子 select datediff(date(now()),'2012-04-15 16:14:59') as DateDifference, timediff(now(), '2012-04-15 16:14:59') as TimeDifference 但这一次给了我以下结果: 日期差时差 5112:26:22 我真的很想知道两者的确切区别 例如: 5:8:24:22 其中5是一天,8:24:22是时间。试试这个 SE

我有一个查询,它获取插入记录的时间和日期与当前日期之间的差异

这是一个例子

select
datediff(date(now()),'2012-04-15 16:14:59') as DateDifference,
timediff(now(), '2012-04-15 16:14:59') as TimeDifference
但这一次给了我以下结果:

日期差时差 5112:26:22

我真的很想知道两者的确切区别

例如:

5:8:24:22

其中5是一天,8:24:22是时间。

试试这个

SELECT floor((date1-date2)*24) || ' HOURS ' ||
mod(floor((date1-date2)*24*60),60) || ' MINUTES ' ||
mod(floor((date1-date2)*24*60*60),60) || ' SECS ' as time_difference
FROM dates;
其结果是:

Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
请尝试以下查询:

select 
date(now()) date1, 
date('2012-04-15 16:14:59') date2,
datediff(date(now()),'2012-04-15 16:14:59') as DateDifference,
TIME(now()) time1, 
TIME('2012-04-15 16:14:59') time2, 
timediff(TIME(now()), TIME('2012-04-15 16:14:59')) as TimeDifference
这将为您提供精确的差异和比较


希望这有帮助。

您到底想要什么?112:26:22不是5天8小时24分22秒,而是4天16小时24分22秒。您希望退回这两个选项中的哪一个?
select 
date(now()) date1, 
date('2012-04-15 16:14:59') date2,
datediff(date(now()),'2012-04-15 16:14:59') as DateDifference,
TIME(now()) time1, 
TIME('2012-04-15 16:14:59') time2, 
timediff(TIME(now()), TIME('2012-04-15 16:14:59')) as TimeDifference