我有这样的数据。
这些是LAT/LONG列。是否有可能将其转换为SDO_POINT?Oracle数据库中的几何列?直接转换而不更改表,如SELECT SDO_蓬特(X,Y)..等?
3npbholx1#
您可以在select语句中使用SDO_POINT_TYPE类型构造函数(添加SYS_XMLGEN只是为了在db〈〉fiddle中打印一个值):
select
SDO_POINT_TYPE
SYS_XMLGEN
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
1条答案
按热度按时间3npbholx1#
您可以在
select
语句中使用SDO_POINT_TYPE
类型构造函数(添加SYS_XMLGEN
只是为了在db〈〉fiddle中打印一个值):| 十|是|观点--|
| - ------|- ------|- ------|
| 1个| 9.35393779488900318396101093241885727099美元| 9.35393779488900318396101093241885727099 美元 无 |
| 第二章| 1.66114260547662456962236114684188698629| 1.66114260547662456962236114684188698629 无 |
| 三个| 8.12429295171479479718811137064961359487| 8.12429295171479479718811137064961359487 无 |
| 四个| 6.63728725334717366406587955611669765791| 6.63728725334717366406587955611669765791 无 |
fiddle