2011-07-18 150 views
0

我試圖計算sqlite中兩個日期之間的差異。 我的時間是在格式爲:15h30兩個日期之間的區別sqlite

當我試試這個:

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

我剛剛得到的結果小時像2如果我的日期是15h3017h40

我怎樣才能得到導致像2:10那樣的小時和分鐘?

回答

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); 
+0

它的工作原理謝謝! – jerem