我在 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