Re: [SQL] sqlite的bug?

楼主: cutekid (可爱小孩子)   2017-10-22 20:51:59
大家好,
我后来有向原 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时,发生了什么事吗?....囧>
作者: meteor007 (meteor007)   2017-10-25 14:37:00
高手!

Links booklink

Contact Us: admin [ a t ] ucptt.com