簡體   English   中英

加$並舍入2位小數位SQL

[英]add $ and round 2 decimal places SQL

我想格式化由子查詢創建的輸出,該子查詢生成一個計算字段,我想將其格式化為$ XX.XX。

子查詢:

(select avg(retail) from cars 
where brand = 'FORD' or brand = 'TOYOTA') as AVG_BRAND_PRICE_01

我基本上只想添加$符號並將輸出四舍五入到小數點后兩位。

任何幫助或指示將不勝感激。

我正在使用isql plus oracle 11g

您可以嘗試以下方法:

'$' || Cast((select avg(retail) from cars 
where brand = 'FORD' or brand = 'TOYOTA') as decimal(4,2)) as AVG_BRAND_PRICE_01

如果要大於$ XX.XX,例如$ XXXXXXX.XX,則需要設置高十進制,例如,decimal(9,2)

示例SQL Fiddle: http ://www.sqlfiddle.com/#!4 / 9f684/2 /0

我基本上只想添加$符號並將輸出四舍五入到小數點后兩位。

我正在使用isql plus oracle 11g

這是一個簡單的顯示設置。 您需要正確設置NUMFORMAT

如果您只需要控制 SQL*Plus的顯示格式 ,那么最好使用SQL*Plus命令來控制顯示格式,而不是在SQL級別應用功能。

SQL * Plus中

SQL> SELECT AVG(sal) FROM emp;

  AVG(SAL)
----------
2073.21429

SQL> set numformat $9999D99
SQL> SELECT AVG(sal) FROM emp;

 AVG(SAL)
---------
 $2073.21

SQL>

如果您明確將值ROUND到小數點后兩位,請使用ROUND函數:

SQL> set numformat $9999D99
SQL> SELECT ROUND(AVG(sal),2) FROM emp;

ROUND(AVG(SAL),2)
-----------------
         $2073.21

SQL>

如果想要特定列的特定格式,則可以使用COLUMN FORMAT命令,該命令將覆蓋該列的SET NUMFORMAT屬性。

例如,

SQL> set numformat $99999.99
SQL> column comm format 99999.99
SQL> select sal, comm from emp where rownum <=5;

        SAL      COMM
----------- ---------
    $800.00
   $1600.00    300.00
   $1250.00    500.00
   $2975.00
   $1250.00   1400.00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM