我正在尝试运行此sql语句,但我收到错误,有什么问题?我有一个名为'zips'的表来获取符合条件的所有数据,我正在尝试做的是从LAT
表中LONG
,zips
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}}
答案 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
内。