You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MariaDB中对location列调用ST_GeomFromText函数

在MariaDB中对location列调用ST_GeomFromText的正确方法

解决方案

使用MariaDB的CONCAT()函数完成字符串拼接,替代PostgreSQL中的||运算符,正确语句如下:

SELECT ST_GeomFromText(CONCAT('POINT(', location, ')'), 4326) FROM test;

错误原因

MariaDB默认SQL模式下,||是**逻辑或(OR)**运算符,而非字符串连接符。你原先的语句'POINT('||location||')'会被解析为布尔表达式计算,最终传入ST_GeomFromText的是布尔值,这就导致了Illegal parameter data type boolean的错误。

关于二进制结果的处理

ST_GeomFromText返回的是WKB(Well-Known Binary)格式的二进制几何对象,若需要可读的文本格式,可搭配ST_AsText()函数转换:

SELECT ST_AsText(ST_GeomFromText(CONCAT('POINT(', location, ')'), 4326)) FROM test;

也可以直接使用专门处理点的ST_PointFromText函数,效果一致:

SELECT ST_PointFromText(CONCAT('POINT(', location, ')'), 4326) FROM test;

内容的提问来源于stack exchange,提问作者SJF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:46:58