有没有办法让数字用数字格式化数千?
根据IBM文档,这是语法:
DECIMAL(:newsalary, 9, 2, ',')
newsalary是字符串(字段) 9是精度 2是比例 ,是分隔符。
我试过了:
SELECT DECIMAL ( T1.FIELD1 , 15 , 2 , "," ) AS TOTAL FROM TABLE T1
尝试时,我收到以下错误:
消息:[SQL0171]函数DECIMAL的参数4无效。
答案 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函数定义。