格式化:更改SqlPlus查询的列标题

时间:2013-12-16 23:03:43

标签: sqlplus oracle11gr2

我遇到两个格式问题,我真的很感激帮助: 1)Days Open列正确显示天数,但我的转换命令正在覆盖列名,和 2)我需要以“MM / DD / YYYY”格式显示订单日期(OOpenDate)

代码:

column O_Num heading 'Order|Number' format a6
column OOpenDate heading 'Order|Date' format a10
column (sysdate-OrderOpenDate) heading 'Days|Open' format a4

select O_Num, OOpenDate, to_char(sysdate-OOpenDate, '999')
    from Orders
    where Status = 'Open';

目前显示的内容:

Order    Order             
Number   Date         TO_C
------   ---------    ------
100      03-DEC-13    14 

我希望它显示为:

Order    Order        Days     
Number   Date         Open
------   ---------    ------
100      12/03/2013   14 

提前谢谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法是将“Days Open”列别名并将格式掩码应用于别名

column days_open heading 'Days|Open' format a4;

select O_Num, OOpenDate, to_char(sysdate-OOpenDate, '999') days_open
  from Orders
  where Status = 'Open';

否则,column命令中的列名需要与SELECT语句中的表达式完全匹配(包括to_char,任何空格等。)这是可能的,但它通常会使事情变得相当难以维持。