我需要用一個簡單的選擇來進行十進制比較操作,例如:sqlite的選擇查詢不起作用
SELECT * FROM表-A,時間> 0.0004
ID時間
0 0.000502
1 0.000745
2 0.000725
4 0.000197
5 0.000176
6 0.000833
7 0.000269
8 0.000307
9 0.000302
結果包含做滿足比較條件的值。簡而言之,「時間> 0.0004」總是評估爲真,並且「時間< 0.0004」總是評估爲假。
我已經嘗試鑄造和更改時間列的類型從小數到浮動沒有成功。
如果我使用子查詢,它正確地執行查詢:
SELECT * FROM表-A,其中時間>(來自表-A選擇時間其中id = 8);
ID時間
0 0.000502
1 0.000745
2 0.000725
6 0.000833
表創建:
CREATE TABLE 「表-A」( 「ID」 整數NOT NULL PRIMARY KEY,「time」decimal NOT NULL);
什麼'SELECT id,time,typeof(time)FROM table_a'返回? – 2011-04-07 00:17:13
typeof(time)返回所有行的「text」。我使用「.import」命令來加載表,看起來這是問題。如果我使用「INSERT」插入記錄,則值的類型是「真實」而不是「文本」。 – 2011-04-07 18:29:24
感謝您發佈數據如何作爲文本插入的詳細說明。有時候,如果你不注意那些數據類型錯誤,SQLite有點棘手。就個人而言,我們所有的模式都對列進行了「檢查」約束,以實施特定的數據類型。 – 2011-04-11 11:42:16