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


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

最常用到的日期及時間比較函數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那該多好。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM