---
title: github-fill
description: "SDO_GEOMETRY 属性访问 SDO_GEOMETRY 是一个复杂数据类型，它具有多个内在属性，可以在 PL/SQL 中访问这些属性。 SDO_GEOMETRY.SDO_GTYPE SDO_GEOMETRY.SDO_GTYPE 表示几何对象的几何类型代码。 示例如下： obclient [SYS]&gt; SELEC…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# SDO_GEOMETRY 属性访问

更新时间：2026-03-05 19:19:29

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/300.basic-elements-of-oracle-mode/100.built-in-data-types-of-oracle-mode/1200.spatial-data-type-of-oracle-mode/300.sdo-geometry-property-access-of-oracle-mode.md)  

SDO_GEOMETRY 是一个复杂数据类型，它具有多个内在属性，可以在 PL/SQL 中访问这些属性。

## SDO_GEOMETRY.SDO_GTYPE

`SDO_GEOMETRY.SDO_GTYPE` 表示几何对象的几何类型代码。

**示例如下：**

```shell
obclient [SYS]> SELECT SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(10, 50, NULL), NULL, NULL).SDO_GTYPE AS test_sdo_gtype FROM dual;

```

返回结果如下：

```shell
+----------------+
| TEST_SDO_GTYPE |
+----------------+
|           2001 |
+----------------+
1 row in set

```

## SDO_GEOMETRY.SDO_SRID

`SDO_GEOMETRY.SDO_SRID` 表示几何对象的坐标系统的标识符 (SRID)。

**示例如下：**

```shell
obclient [SYS]> SELECT SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL).SDO_SRID AS test_sdo_srid FROM dual;

```

返回结果如下：

```shell
+---------------+
| TEST_SDO_SRID |
+---------------+
|          4326 |
+---------------+
1 row in set

```

## SDO_GEOMETRY.SDO_POINT

`SDO_GEOMETRY.SDO_POINT` 表示几何对象的点坐标，包含了 X、Y 和可选的 Z 坐标。也可以通过访问 `SDO_GEOMETRY` 的 `SDO_POINT` 子属性来获取这些子属性的值。

`SDO_POINT` 子属性如下：

- `SDO_GEOMETRY.SDO_POINT.X`：表示几何对象的 X 坐标。
 - `SDO_GEOMETRY.SDO_POINT.Y`：表示几何对象的 Y 坐标。
 - `SDO_GEOMETRY.SDO_POINT.Z`：表示几何对象的可选 Z 坐标。Z 坐标是可选的，不是所有的几何对象都包含 Z 值。

**示例如下：**

- 访问 `SDO_POINT` 属性，包含 X、Y 和 Z 坐标。

  ```shell
  obclient [SYS]> SELECT SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL).SDO_POINT AS test_sdo_point FROM dual;

  ```

  返回结果如下：

  ```shell
  +------------------------------+
  | TEST_SDO_POINT               |
  +------------------------------+
  | SDO_POINT_TYPE(12, 14, NULL) |
  +------------------------------+
  1 row in set

  ```
 - 访问 `SDO_POINT` 的 X 属性。

  ```shell
  obclient [SYS]> SELECT SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL).SDO_POINT.X AS test_sdo_point_x FROM dual;

  ```

  返回结果如下：

  ```shell
  +------------------+
  | TEST_SDO_POINT_X |
  +------------------+
  |               12 |
  +------------------+
  1 row in set

  ```
 - 访问 `SDO_POINT` 的 Y 属性。

  ```shell
  obclient [SYS]> SELECT SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL).SDO_POINT.Y AS test_sdo_point_y FROM dual;

  ```

  返回结果如下：

  ```shell
  +------------------+
  | TEST_SDO_POINT_Y |
  +------------------+
  |               14 |
  +------------------+
  1 row in set

  ```
 - 访问 `SDO_POINT` 的 Z 属性。

  ```shell
  obclient [SYS]> SELECT SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL).SDO_POINT.Z AS test_sdo_point_z FROM dual;

  ```

  返回结果如下：

  ```shell
  +------------------+
  | TEST_SDO_POINT_Z |
  +------------------+
  |             NULL |
  +------------------+
  1 row in set

  ```

## SDO_GEOMETRY.SDO_ELEM_INFO

`SDO_GEOMETRY.SDO_ELEM_INFO` 表示几何对象的元素信息（例如线段或多边形的起始和结束点索引）。

**示例如下：**

```shell
obclient [SYS]> SELECT SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), SDO_ORDINATE_ARRAY(10,105, 15,105, 20,110, 10,110, 10,105)).SDO_ELEM_INFO AS test_sdo_elem_info FROM dual;

```

返回结果如下：

```shell
+---------------------------------+
| TEST_SDO_ELEM_INFO              |
+---------------------------------+
| SDO_ELEM_INFO_ARRAY(1, 1003, 1) |
+---------------------------------+
1 row in set

```

## SDO_GEOMETRY.SDO_ORDINATES

`SDO_GEOMETRY.SDO_ORDINATES` 表示几何对象的坐标值数组。

**示例如下：**

```shell
obclient [SYS]> SELECT SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), SDO_ORDINATE_ARRAY(10,105, 15,105, 20,110, 10,110, 10,105)).SDO_ORDINATES AS test_sdo_ordinates FROM dual;

```

返回结果如下：

```shell
+-----------------------------------------------------------------+
| TEST_SDO_ORDINATES                                              |
+-----------------------------------------------------------------+
| SDO_ORDINATE_ARRAY(10, 105, 15, 105, 20, 110, 10, 110, 10, 105) |
+-----------------------------------------------------------------+
1 row in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
