amazon athenaから
緯度経度で範囲指定してログを抜き出したいと思っています。
SELECT
CAST(SPLIT("lat",',')[1] AS DECIMAL(10,7))
+CAST(SPLIT("lat",',')[2] AS DECIMAL(10,7))/60
+CAST(SPLIT("lat",',')[3] AS DECIMAL(10,7))/3600 AS latitude,
CAST(SPLIT("lon",',')[1] AS DECIMAL(10,7))
+CAST(SPLIT("lon",',')[2] AS DECIMAL(10,7))/60
+CAST(SPLIT("lon",',')[3] AS DECIMAL(10,7))/3600 AS longitude,
WHERE
CAST(SPLIT("lat",',')[1] AS DECIMAL(10,7))
+CAST(SPLIT("lat",',')[2] AS DECIMAL(10,7))/60
+CAST(SPLIT("lat",',')[3] AS DECIMAL(10,7))/3600 BETWEEN 35.0520 AND 35.0800
AND
CAST(SPLIT("lon",',')[1] AS DECIMAL(10,7))
+CAST(SPLIT("lon",',')[2] AS DECIMAL(10,7))/60
+CAST(SPLIT("lon",',')[3] AS DECIMAL(10,7))/3600 BETWEEN 136.6700 AND 136.800
※lat,lonは度分秒表記のため、SPLITして十進法に変換しています。
WHERE句を、lat,lonどちらかだけにするとクエリは回って正しい結果が得られます。
しかし、WHERE句をANDでつなげてlat,lon両方を絞り込むとエラーが出ます。
WHERE句の中で、BETWEEN AND を含む条件を複数並べるにはどうしたらよいでしょうか。