Oracle划分问题

时间:2011-01-31 10:06:36

标签: oracle

我有这个问题:

select (round(scp.qty/ppc.qty) * 100,4) || '%' as qtyco from .....

问题是,不是返回“0.123%”而是返回“.123%”

任何想法为什么......或者我怎么能解决这个问题? 两个数量列的类型是NUMBER(12,0)

谢谢!

2 个答案:

答案 0 :(得分:4)

这只是一个显示问题:由于您使用||连接运算符(Oracle执行转换隐含),您的号码将转换为varchar。您应该要求格式明确,例如:

select to_char(round(scp.qty / ppc.qty * 100, 4), 'fm990.9999') || '%' as qtyco

答案 1 :(得分:1)

Oracle可以自动将数字转换为char。我认为手动转换它会更好,所以你可以控制如何操作。