[英]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.