【问题标题】:Sqlplus format 3 place number, i.e. 150 to 1.50 for spool outputSqlplus 格式 3 位编号,即 150 到 1.50 用于 spool 输出
【发布时间】:2017-03-21 09:24:40
【问题描述】:

我在 sqlplus 中有一个将数据返回到 csv 文件的查询。一个数据就是一个数量。例如,它显示为150。我需要它来显示1.50。当我尝试使用$9.99 或仅使用9.99 尝试格式化时,我得到###### 代替金额。

我是 sqlplus 脚本的新手,我需要帮助。查询的所有其他方面都按预期工作。我尝试了多个掩码,但它们只给了我150.001500.00 之类的结果。

【问题讨论】:

    标签: oracle sqlplus


    【解决方案1】:

    您需要将数字转换为美分,例如/ 100 和 to_char 如果您希望输出还包括 $'s

    select to_char(150/100, '$9,999.99') from dual;
    $1.50
    select to_char(999999/100, '$9,999.99') from dual;
    $9,999.99
    

    注意: 您需要足够精确地指定:

    select to_char(99999999/100, '$9,999.99') from dual;
    ##########
    
    select to_char(99999999/100, '$999,999.99') from dual;
    $999,999.99 
    

    【讨论】:

      猜你喜欢
      • 2019-11-30
      • 2021-08-12
      • 2016-12-09
      • 2021-04-26
      • 1970-01-01
      • 2019-02-26
      • 1970-01-01
      • 2011-06-17
      • 2014-10-26
      相关资源
      最近更新 更多