我有这个查询,它将输出显示为数字
SELECT rlseamt FROM ln01mast WHERE acno=214
我想将其转换为两位数的十进制数,例如:198.00
您可以使用数字格式模型来获得所需的输出。
您可以像这样修改您的查询:
SELECT TO_CHAR(rlseamt,'999D99') FROM ln01mast WHERE acno=214
您应该将格式模型更改为为 rlseamt 列定义的 NUMBER 数据类型的长度。原因是,如果您在此列中有 1234 之类的值,那么使用上述格式模型将不会为您提供正确的输出,并且输出将被替换为####
. 因此,您必须将格式模型更改为9999D99
有没有另一种方法,因为我不能使用这个查询用零填充那个数量
SELECT TO_CHAR(rlseamt,'9999999999999999999999D99') FROM ln01mast WHERE acno=214
使用此文档http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions181.htm
您可以使用
SELECT TO_CHAR(rlseamt,'999D99') FROM ln01mast WHERE acno=214
或者
SELECT TO_CHAR(rlseamt,'000D00') FROM ln01mast WHERE acno=214
如果小数点前的数字少于 3 个字符,则第二个查询将添加一个起始零......