为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:麒麟v10
【CPU】:5800h
【问题描述】*:
数据库中字段是 "SYSGEO2"."ST_GEOMETRY",使用DMGEO2的函数查询这个字段的时候显示数据类型不匹配,是什么原因导致的?
看一下您使用的数据版本,较新版本正常:
1、初始化环境
SP_INIT_GEO2_SYS(1);
2、创建表
CREATE TABLE "DUTY_GRID"
(
"duty_grid_id" INT AUTO_INCREMENT NOT NULL,
"duty_grid_code" VARCHAR(40),
"duty_grid_desc" VARCHAR(100),
"duty_grid_name" VARCHAR(100),
"duty_grid_type_id" INT,
"region_code" VARCHAR(200),
"duty_grid_geometry" "SYSGEO2"."ST_GEOMETRY",
"duty_grid_source" INT DEFAULT 0,
NOT CLUSTER PRIMARY KEY("duty_grid_id")) STORAGE(ON "MAIN", CLUSTERBTR);
3、插入数据
INSERT INTO duty_grid VALUES (443, '450130001001001', NULL, '网格001', 1, '450130001001', DMGEO2.ST_GeomFromText('POLYGON((107.249188609421 24.1442177630961, 107.24892038852 24.143295083195, 107.250755019486 24.1429195739329, 107.251388020813 24.1432199813426, 107.251581139863 24.1433916427195, 107.251441664994 24.1435847617686, 107.249188609421 24.1442177630961))',0), 0);
4、转为JSON
select DMGEO2.ST_AsGeoJSON("duty_grid_geometry") from duty_grid;
这个系统函数的使用说明可以参考一下安装数据库软件目录下的 dmdbms/doc/DM8系统包使用手册.pdf,里面有函数说明。