【问题标题】:Formatting: Changing Column Headers for SqlPlus Query格式化:更改 SqlPlus 查询的列标题
【发布时间】:2013-12-16 23:03:43
【问题描述】:

我遇到了两个格式问题,非常感谢您的帮助: 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 

提前谢谢你!

【问题讨论】:

    标签: sqlplus oracle11gr2


    【解决方案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、任何空格等)。这是可能的,但通常会使事情变得相当难以维护。

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2022-11-02
      • 2012-05-13
      • 1970-01-01
      相关资源
      最近更新 更多