【发布时间】:2023-04-11 00:18:01
【问题描述】:
我知道我可以将 ORACLE SDO_GEOMETRY 转换为 WKT 格式。但是,如果它包含多个值,我不知道如何转换它。我该怎么做?
我有下表:
| ID | SDO_GEOMETRY |
|---|---|
| 1234 | SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9971, 19188, NULL), NULL, NULL) |
| 1235 | SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9972, 18282, NULL), NULL, NULL) |
| 1236 | SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9977, 19201, NULL), NULL, NULL) |
| 1237 | SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9993, 18225, NULL), NULL, NULL) |
| 1238 | SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(10035, 18367, NULL), NULL, NULL) |
我想一次将所有这些值转换为 WKT。我怎么做? 到目前为止我尝试了什么?
CREATE TABLE new_test ( name varchar2(20), geom SDO_GEOMETRY );
INSERT INTO new_test (name, geom)
VALUES (
'1234',
SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9971, 19188, NULL), NULL, NULL);
);
SELECT NAME, SDO_UTIL.TO_WKTGEOMETRY(GEOM) AS point FROM NEW_TEST;
上面的脚本一次只转换一个。如何为多行实现它?
【问题讨论】:
标签: sql oracle oracle-spatial wkt