1

我有这个查询,它将输出显示为数字

SELECT  rlseamt  FROM ln01mast WHERE acno=214

我想将其转换为两位数的十进制数,例如:198.00

4

3 回答 3

1

您可以使用数字格式模型来获得所需的输出。

您可以像这样修改您的查询:

SELECT  TO_CHAR(rlseamt,'999D99')  FROM ln01mast WHERE acno=214

您应该将格式模型更改为为 rlseamt​​ 列定义的 NUMBER 数据类型的长度。原因是,如果您在此列中有 1234 之类的值,那么使用上述格式模型将不会为您提供正确的输出,并且输出将被替换为####. 因此,您必须将格式模型更改为9999D99

于 2013-09-17T06:11:57.113 回答
0

有没有另一种方法,因为我不能使用这个查询用零填充那个数量

SELECT  TO_CHAR(rlseamt,'9999999999999999999999D99')  FROM ln01mast WHERE acno=214
于 2013-09-18T05:43:10.563 回答
0

使用此文档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 个字符,则第二个查询将添加一个起始零......

于 2013-09-17T08:35:04.323 回答