對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