sqlite两个日期之间的区别

时间:2011-07-18 13:49:39

标签: sqlite

我正在尝试计算sqlite中两个日期之间的差异。 我的时间格式为:15h30

当我尝试这个时:

select time(replace( FIRSTHOUR , 'h' , ':'))-time(replace (SECONDHOUR , 'h' , ':')) 
from table

如果我的日期为215h30

,我只会按小时17h40获得结果

如何在2:10之类的小时和分钟内获得结果?

1 个答案:

答案 0 :(得分:1)

sqlite> select strftime('%H:%M', 
                         strftime('%s', replace('17h40', 'h' , ':'))
                         - strftime('%s', replace ('15h30', 'h' , ':')),
                        'unixepoch');
02:10
sqlite> 

所以,

sqlite> select strftime('%H:%M', 
                         strftime('%s', replace(FIRSTHOUR, 'h' , ':'))
                         - strftime('%s', replace (SECONDHOUR, 'h' , ':')),
                        'unixepoch');

可替换地,

sqlite> select strftime('%H:%M',
                         julianday(replace('17h40', 'h' , ':'))
                         - julianday(replace ('15h30', 'h' , ':'))
                         - 0.5);
02:10
sqlite> 

所以,

sqlite> select strftime('%H:%M',
                         julianday(replace(FIRSTHOUR, 'h' , ':'))
                         - julianday(replace (SECONDHOUR, 'h' , ':'))
                         - 0.5);