如何在 Oracle SQL 中舍入计算列的小数结果

How to Round Decimal Result of a Calculated Column in Oracle SQL

我在 Oracle 中有一个计算列,returns 一个非常长的数字,因为有小数(例如:200000.0044068030021345452041589203332645)。

有没有办法将其转换为 200000.00?我尝试了 Round、TO_DECIMAL、CAST。但似乎没有任何效果。

SELECT
CASE
     WHEN TRD = 'FUT'
     THEN
         CASE
             WHEN BUY_SELL = 'BUY' 
             THEN CUR / PRC 
             ELSE -CUR / PRC
         END
     ELSE NULL
END AS UNITS
FROM LAN.Details

使用回合

  select round(200000.0044068030021345452041589203332645,2) from dual

所以在你的查询中

SELECT
CASE
     WHEN TRD = 'FUT'
     THEN
         CASE
             WHEN BUY_SELL = 'BUY' 
             THEN round( CUR / PRC ,2)
             ELSE round(-CUR / PRC,2)
         END
     ELSE NULL
END AS UNITS
FROM LAN.Details