我有这个问题:
select (round(scp.qty/ppc.qty) * 100,4) || '%' as qtyco from .....
问题是,不是返回“0.123%”而是返回“.123%”
任何想法为什么......或者我怎么能解决这个问题? 两个数量列的类型是NUMBER(12,0)
谢谢!
答案 0 :(得分:4)
这只是一个显示问题:由于您使用||
连接运算符(Oracle执行转换隐含),您的号码将转换为varchar。您应该要求格式明确,例如:
select to_char(round(scp.qty / ppc.qty * 100, 4), 'fm990.9999') || '%' as qtyco
答案 1 :(得分:1)
Oracle可以自动将数字转换为char。我认为手动转换它会更好,所以你可以控制如何操作。