【轉】實現Sqlite datediff日期時間相減的方法

對sqlite既恨又愛,在小項目裏,用sqlite開發起來很是方便,效率足夠用。美中不足的是sqlite精簡了些功能及相關函數。如存儲過程,datediff,不支持併發寫入及遠程訪問(或許有些高手說這個不是問題,用共享或iis均可以解決,但這算真正解決嗎?),致使在開發過程當中走了很多彎路。sql

最經常使用到的日期及時間比較函數datediff,在sqlite裏被精簡了,網上也找不到詳細的的實現方法。今天就花了點時間來本身實現datediff功能。併發

折騰一段時間後發現sqlite裏有個julianday函數轉化後能夠直接相減,獲得的結果是以天(day)爲單位數值,若是不足一天會以小數表示。因而想到應該能夠用來換算成時間,便可以進行時間比較,好比要計算精確到hour級的比較,能夠這樣 sqlite》  select   (julianday( datetime('2013-10-09 17:40') )-   julianday(strftime('%Y-%m-%d %H:%M',datetime('now','localtime'))))*24 。精確到分鐘的比較能夠*24*60。函數

julianday容易讓人想固然的覺得就單純地比較day,要是有datediff那該多好。。。sqlite

相關文章
相關標籤/搜索