我想从表格中选择ID,其中多边形中存在一个点(25.10785 55.18114)。
我尝试了所有可能的东西,而它为所有东西都返回了null。
多边形((25.11031 55.18408,25.11109 55.18459,25.11288 55.18811,25.11653 55.19301,25.12197 55.20176,25.1034 55.23103,25.09471 55.24247,25.0826 55.24944,25.05652 55.24897,25.05526 55.23672,25.05306 55.22412,25.06665 55.22071,25.07212 55.21617,25.07821 55.20957,25.09016 55.19002 ,25.09583 55.18403,25.1046 55.17734,25.10785 55.18114,25.11031 55.18408))
这是多边形的样子。
如果多边形中存在一个点
,我希望mysql返回ID答案 0 :(得分:0)
看看mysql函数Containt或ST_Contains。 ST_Contains(g1,g2)返回1或0,以指示g1是否完全包含g2。
在您的示例中,您可以执行以下操作:
SELECT id FROM your_table WHERE CONTAINS(your_polygon, PointFromText(POINT(25.10785 55.18114))
确保检查您正在使用的mysql版本。