在sql中将数字转换为两位小数

时间:2013-09-17 06:00:14

标签: sql oracle

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

SELECT  rlseamt  FROM ln01mast WHERE acno=214

我想将它转换为两位数的十进制数量:198.00

3 个答案:

答案 0 :(得分:1)

您可以使用Number format models获得所需的输出。

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

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

您应该将格式模型acrroding更改为为rlseamt​​列定义的NUMBER数据类型的长度。原因是,如果此列中的值为1234,则使用上述格式模型,将无法为您提供正确的输出,输出将替换为####之类的内容。因此,您必须将格式模型更改为9999D99

答案 1 :(得分: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个字符,

第二个查询将添加一个起始零.....

答案 2 :(得分:0)

还有另外一种方法,因为我不能使用此查询左键填充零数量

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