sql查询无法使用concat和astext

时间:2013-03-22 08:07:52

标签: mysql sql

SELECT LATITUDE,
       LONGITUDE, 
       AsText(concat(LATITUDE,',' ,LONGITUDE)) AS point 
FROM incident_google

查询不适用于AsText

将结果显示为NULL

如何获取astext值。

如果问题出在concat或AStext上。

我需要此查询的结果。

现在结果为,

38.8994816000000014 -76.9785097000000036    NULL
38.9445079999999990 -77.0045459999999906    NULL

我需要结果

38.8994816000000014 -76.9785097000000036    38.899481600000001476.9785097000000036

3 个答案:

答案 0 :(得分:1)

AsText()是一个特殊功能,用于处理geometry类型的列。

对我来说,纬度和经度似乎不是几何类型;它们只是漂浮物。如果省略AsText()

,它应该可以正常工作
SELECT LATITUDE,LONGITUDE, concat(LATITUDE,',' ,LONGITUDE) AS point 
    FROM incident_google

SQLFiddle example

注意:另一方面,如果 使用geospacial扩展,则需要指定您正在使用的类型以及您要执行的操作。这是一个相当专业的领域。

答案 1 :(得分:0)

在合并或使用Text之前,请先尝试使用Astext代替CONCAT

SELECT LATITUDE,LONGITUDE,concat(Text(LATITUDE),',' ,Text(LONGITUDE)) AS point FROM incident_google

答案 2 :(得分:0)

here所述,其中某些功能已被弃用。检查here中的新版本名称。

  

在较新版本的MySQL(8.0+)中,旧的空间函数如   GeomFromText,AsText已被弃用,不再起作用。使   如果您遇到问题,请务必从这里onwords遵循此列表   具有未定义的函数名称。