SQL语法错误#1064

时间:2015-04-01 20:44:10

标签: mysql sql

我正在尝试运行此sql语句,但我收到错误,有什么问题?我有一个名为'zips'的表来获取符合条件的所有数据,我正在尝试做的是从LAT表中LONGzips varchar SELECT * FROM zips WHERE ( CAST(LAT AS FLOAT) <= 41.009707145195 AND CAST(LAT AS FLOAT) >= 40.286092854805 AND CAST(LONG AS FLOAT) <= -73.307544588345 AND CAST(LONG AS FLOAT) >= -74.266455411655) AND ( CAST(LAT AS FLOAT) != 40.6479 AND CAST(LONG AS FLOAT) != -73.787 ) ) 1}}类型。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FLOAT) <= 41.009707145195 AND CAST(LAT AS FLOAT) >=
40.286092854805 AND CAST(LON' at line 1

,错误是

{{1}}

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * FROM zips 
WHERE (
       CAST(LAT AS DECIMAL(10,6)) <= 41.009707145195 
      AND CAST(LAT AS DECIMAL(10,6)) >= 40.286092854805 
      AND CAST(`LONG` AS DECIMAL(10,6)) <= -73.307544588345 
      AND CAST(`LONG` AS DECIMAL(10,6)) >= -74.266455411655
      ) 
      AND 
     (
      CAST(LAT AS DECIMAL(10,6)) != 40.6479 
      AND CAST(`LONG` AS DECIMAL(10,6)) != -73.787
     )

LONG 是一个保留关键字,因此请将其放在backquotes内。