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