oracle 两列到点

kb5ga3dv  于 2023-03-01  发布在  Oracle
关注(0)|答案(1)|浏览(189)

我有这样的数据。

这些是LAT/LONG列。是否有可能将其转换为SDO_POINT?Oracle数据库中的几何列?直接转换而不更改表,如SELECT SDO_蓬特(X,Y)..等?

3npbholx

3npbholx1#

您可以在select语句中使用SDO_POINT_TYPE类型构造函数(添加SYS_XMLGEN只是为了在db〈〉fiddle中打印一个值):

with tab(x,y) as (
  select level, dbms_random.value(1, 10)
  from dual
  connect by level < 5
)
select
  tab.*
  , SYS_XMLGEN(SDO_POINT_TYPE(x => x, y => y, z => 0)) as point_
from tab

| 十|是|观点--|
| - ------|- ------|- ------|
| 1个| 9.35393779488900318396101093241885727099美元| 9.35393779488900318396101093241885727099 美元 无 |
| 第二章| 1.66114260547662456962236114684188698629| 1.66114260547662456962236114684188698629 无 |
| 三个| 8.12429295171479479718811137064961359487| 8.12429295171479479718811137064961359487 无 |
| 四个| 6.63728725334717366406587955611669765791| 6.63728725334717366406587955611669765791 无 |
fiddle

相关问题