如何用列的宽度假脱机列值

时间:2019-01-31 17:40:57

标签: database oracle spool

我想从表中进行后台处理(示例TABLE T)

TABLE T
  col1 number(10)   with suppose value of 2 
  col2 varchar2(10) with suppose value of "HI" 

在此表的结果假脱机文件中,我希望以某种方式获取数据,使其也能代表列的尺寸。

0000000002;HI          ;

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在下面的选择查询中使用以获取所需结果

select LPAD(col1,10,0),RPAD(col2,10,' ') from T;

如果需要动态从下面的表定义中获取长度,则查询会有所帮助

select (select LPAD(col1,data_length,0)
from T,all_tab_columns
where table_name='T'
and column_name='COL1'),

(select RPAD(col2,data_length,' ')
from T,all_tab_columns
where table_name='T'
and column_name='COL2') from dual;