【发布时间】:2014-10-10 00:43:14
【问题描述】:
当点被硬编码且没有错误或警告时,此代码将选择表中的所有行:
SELECT *
FROM lat_lng
WHERE Contains(
GeomFromText('POLYGON((0 0,0 100,100 100,100 0,0 0))'),
GeomFromText('Point(50 50)') )
OR 由变量 $var = "50 50" 定义(没有错误或警告)
SELECT *
FROM lat_lng
WHERE Contains(
GeomFromText('POLYGON((0 0,0 100,100 100,100 0,0 0))'),
GeomFromText('Point($var)') )
但是,当我使用名为“位置”的列来定义点时,会选择零行(没有错误或警告):
SELECT *
FROM lat_lng
WHERE Contains(
GeomFromText('POLYGON((0 0,0 100,100 100,100 0,0 0))'),
GeomFromText('Point(location)') )
基于此两行示例表:
id | location
1 | 50 50
2 | 500 500
为什么?
【问题讨论】: