2013-04-09 48 views
0

的條件之外我通過此查詢到MySQL表MySQL的數據點返回給

SELECT metar_id, latitude, longitude 
FROM `metars` 
WHERE `latitude` >= '38.996666666667' 
AND `longitude` >= '103.16666666667' 
AND `latitude` <= '40.663333333333' 
AND `longitude` <= '104.83333333333' 

,它給我一個排,以下數據。 1)metar_id = 997419 latitude = 4.53 longitude = 103.43

爲什麼我得到一個超出邊界的數據點?

+0

緯度/長度字段上的類型是什麼?浮動?雙打? VARCHAR?如果它是varchar,則需要切換到實際數字字段 – 2013-04-09 16:25:33

+0

您是否可以包含表格定義? – 2013-04-09 16:26:43

+0

使用'x BETWEEN y AND z'幾乎總是比'x> = y AND x <= z'更好,因爲它索引更好,並且更容易閱讀。 – tadman 2013-04-09 16:32:31

回答

0

通過將字段的數據類型從varchar更改爲float來解決此問題。