如何使用SQL分隔列名称属性和长度

时间:2018-02-17 06:36:00

标签: sql oracle oracle11g

我想分别拆分oracle表的列名,属性和长度,以准备数据表。目前我正在通过复制到记事本并进行拆分来进行手动操作。这适用于小型表,但对于大型列,则需要更多时间。有没有办法做程序或在SQL查询自己。请帮忙。

例如:

Column  attribute
A       varchar2(25)
B       Number(13,2)
C       Number(20)
d       varchar2(25)
e       varchar2(25)

我希望单独作为

 A    varchar2   25
 B    Number     13,2
 C    Number     20
 d    varchar2   25
 E    varchar2   25

2 个答案:

答案 0 :(得分:0)

如何使用USER_TAB_COLS?

SELECT table_name, column_name, data_type, data_length, data_precision
  FROM user_tab_cols
 ORDER BY table_name, column_id

答案 1 :(得分:0)

如果您可以访问数据字典,则可以使用:

select COLUMN_NAME  ,DATA_TYPE ,  TRIM ( BOTH ',' FROM DATA_LENGTH||','||DATA_PRECISION) 
       as length_precision
FROM user_tab_columns where table_name='YOURTABLE';