簡體   English   中英

如何在SQLite中使用BETWEEN和DOUBLE值查詢?

[英]How to query in SQLite using BETWEEN and DOUBLE values?

大家好,我必須在兩個雙值上使用BETWEEN從數據庫查詢

這是我的桌子:

db.execSQL("CREATE TABLE Task ("
                    + "id smallint(6) NOT NULL,"
                    + "project_id smallint(6) NOT NULL," 
                    + "add_date varchar(15) NOT NULL,"
                    + "geo_lat double NOT NULL,"
                    + "geo_long double NOT NULL,"
                    + "additional_info TEXT NULL" + ");");

我想顯示所有最近的任務,而我當前的QUERY是:

SELECT * FROM Task WHERE geo_lat BETWEEN " + lat_top + " AND " + lat_bot + " AND geo_long" + " BETWEEN " + long_top + " AND " + long_bot

我不知道這是不是錯誤,我已經在這個論壇的某個地方找到了它。 這個查詢什么也沒給我...應該怎么做?

a BETWEEN b AND c之間的a BETWEEN b AND c a >= b AND a <= c

因此,您必須確保兩個值中較小的一個在AND之前。

只需更改查詢頂部和底部的順序即可:

SELECT * FROM Task WHERE geo_lat 
     BETWEEN " + lat_bot+ " AND " + lat_top + " 
     AND geo_long" + " 
     BETWEEN " + long_bot + " AND " + long_top

您的樣本填充查詢將類似於:

SELECT * FROM TASK WHERE 
( GEO_LAT BETWEEN 12.01 AND 12.50 ) 
AND
(GEO_LONG BETWEEN 81.10 AND 91.20)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM