SQLite資料庫不同時間精度查詢注意事項

2021-06-14 22:40:15 字數 1318 閱讀 1676

sqlite資料庫在儲存時間時提供了多種格式可供儲存,不同儲存方式對查詢有啥影響沒?不同時間精度的儲存又會對查詢結果有啥影響,最近做專案碰到這個問題我做如下乙個總結:

在資料庫表中,要表示乙個時間資訊,我們可以根據需要使用date,time,datetime或者vchar格式儲存,不同的儲存方式也會帶來查詢的不同結果,現在我們建乙個表timetest

並在其中插入四行資料

然後我們分別執行以下三組查詢操作

第一組:

第二組:

第三組:

從以上三組操作中我們可以發現,當時間儲存的內容相同時(即時間格式和值相同),無論時間的型別是date time datetime還是vchar,只要查詢語句相同,得到的結果也相同。

現在我們看另外一組查詢

從這一組查詢結果我們可以看出sqlite資料庫對時間的排序其實就是把時間格式的資料當做一串字串,通過比較字串的大小的結果來判斷時間的大小,因此在查詢時間時要注意資料庫時間儲存的格式及自己所要查詢的範圍,若資料庫時間儲存值精確到了分(2013-06-02 16:12),而查詢語句對起始時間精確到了秒(2013-06-02 16:12:00),會造成2013-06-02 16:12無法獲取到,造成誤差。

Oracle按不同時間分組統計

oracle按不同時間分組統計的sql 如下表table1 日期 exportdate 數量 amount 14 2月 0820 10 3月 082 14 4月 086 14 6月 0875 24 10月 0923 14 11月 0945 04 8月 105 04 9月 1044 04 10月 10...

mongodb按不同時間粒度聚合查詢

在使用mongodb時需要按照不同的時間粒度來對資料處理 粒度為 日 周 月 在使用時遇見了一些耽誤時間的事情 整理一下 具體語法如下 db.collection.aggregate 開始的時候我選擇了 dayofyear week month 但是執行的時候發現 week 並不是遵循國人的習慣以周...

pandas sql不同時間段彙總小技巧

pandas sql小技巧 統計不同產品在不同時間段的銷量,即,a產品統計1 5號,b產品統計3 7號的銷量 對於這種簡單問題,首先想到的是,用sql去做,只要提取對應的時間區間就好了。sql語法如下 先取出指定日期區間的資料 先取出指定日期區間的資料 select a.id as 產品id,a.s...