Mysql
 sql >> Base de données >  >> RDS >> Mysql

ST_Buffer équivalent pour les recherches basées sur Circle dans MySQL ?

Autant que je sache, les fonctions de tampon sont pas encore implémenté dans MySQL :

Si je comprends bien votre question, vous n'avez peut-être même pas besoin d'une fonction spatiale pour effectuer cette requête, vous pouvez utiliser une requête SQL "normale" et le Distance euclidienne :

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

J'espère que cela vous aidera.

Modifier : Les performances seraient certainement un problème avec cette requête.

En ce qui concerne les fonctions spatiales de MySQL, il semble que les derniers instantanés incluent de nouvelles fonctions comme Buffer ou Distance. Vous voudrez peut-être essayer :