sql >> Databáze >  >> RDS >> Mysql

Ekvivalent ST_Buffer pro vyhledávání založené na kruhu v MySQL?

Pokud vím, funkce vyrovnávací paměti jsou dosud neimplementováno v MySQL:

Pokud správně rozumím vaší otázce, možná k provedení tohoto dotazu ani nepotřebujete prostorovou funkci, můžete použít „běžný“ SQL dotaz a Euklidovská vzdálenost :

select * 
from gistable g 
where SQRT(POW(circleCenterPT.x - point.x,2) + POW(circleCenterPT.y - point.y,2)) < radius

Doufám, že to pomůže.

Upravit: Výkon by byl u tohoto dotazu jistě problémem.

Pokud jde o prostorové funkce v MySQL, zdá se, že nejnovější snímky obsahují nové funkce jako Buffer nebo Distance. Možná to budete chtít vyzkoušet:



  1. Jak vybrat směrodatnou odchylku v řádku? (v SQL - nebo R :)

  2. Databázový dotaz rozlišující malá a velká písmena

  3. Použití PHP a RegEx k načtení všech hodnot možností ze zdrojového kódu webu

  4. MariaDB Jednotky data a času