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



我在 Oracle 中有一个计算列,它返回一个由于小数而很长的数字(例如: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

相关内容

  • 没有找到相关文章

最新更新