数字字段

时间:2016-02-04 11:32:31

标签: sql ibm-midrange number-formatting decimalformat

有没有办法让数字用数字格式化数千?

根据IBM文档,这是语法:

DECIMAL(:newsalary, 9, 2, ',')

newsalary是字符串(字段) 9是精度 2是比例 ,是分隔符。

我试过了:

SELECT DECIMAL ( T1.FIELD1 , 15 , 2 , "," ) AS TOTAL FROM TABLE T1

尝试时,我收到以下错误:

  

消息:[SQL0171]函数DECIMAL的参数4无效。

1 个答案:

答案 0 :(得分:2)

DECIMAL从字符串类型转换为数字类型。

数字类型没有分隔符;只有数字的字符表示才有分隔符。

您使用STRSQL,运行SQL脚本或其他什么工具?将字符串转换为数字后,该工具应在显示数字数据时添加适当的语言分隔符。例如,在STRSQL中:

select decimal('12345.67', 12,2) as mynum
from sysibm.sysdummy1                    

返回:

       MYNUM
   12,345.67

使用SQL格式化字符串通常是一个坏主意。这应该留给消费数据的任何东西。

但如果你真的,真的,真的想要这样做。您应该创建一个用户定义的函数(UDF)来为您完成。这是一篇文章Make SQL Edit the Way You Want It To,其中包含用于在ILE RPG中编写的EDITDEC函数的源代码以及在SQL语句中使用它所需的SQL函数定义。