看板 Database 關於我們 聯絡資訊
大家好, 我後來有向原 PO 要資料來追問題 結論是這樣的: 1. 當 rowid <= 61 時, close 的 type 是 text 2. 當 rowid > 61 時, close 的 type 是 real ps. 可用 typeof(close) 來看當時的 type 因為在 sqlite 裡面: text 比 real、integer 都要大 所以就能解釋 rowid <= 62 時: max(close) = '.97' ← 因為 text > real,然後再從 text 裡面取最大 min(close) = 1.03 ← 因為 real < text,然後再從 real 裡面取最小 這樣奇怪的現象 ※ 引述《cert889 (展翅高飛)》之銘言: : ※ [本文轉錄自 Programming 看板 #1Pw-F170 ] : 作者: cert889 (展翅高飛) 看板: Programming : 標題: [問題] sqlite的bug? : 時間: Sun Oct 22 08:18:06 2017 : Hi, all : 我在使用sqlite的Max和Min時,發生奇怪的問題如下: : SQLite version 3.20.1 2017-08-24 16:21:36 : Enter ".help" for usage hints. : sqlite> SELECT Max(close) FROM Daily WHERE rowid<=62; : .97 : sqlite> SELECT Min(close) FROM Daily WHERE rowid<=62; : 1.03 : sqlite> SELECT Max(close) FROM Daily WHERE rowid<=61; : .97 : sqlite> SELECT Min(close) FROM Daily WHERE rowid<=61; : .76 : 如上所示,rowid<=61時,可以正常取Max和Min值 : 但rowid<=62時,Min值居然大於Max值?? : 請問有人知道rowid=62時,發生了什麼事嗎?....囧> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.18.5 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1508676721.A.623.html cert889:轉錄至看板 Programming 10/22 22:01
meteor007: 高手! 10/25 14:37