191145692 发表于 2016-11-17 06:12:41

DB2数值类型转换成字符串类型

工作中碰到需要把数值类型的金额转换成字符串类型,网上没有找到合适的答案,有的没有考虑"-"号,有的没有考虑"0.12"或"12.0"这种情况,所以自己写了一个,拿出来和大家研究一下。虽然看着比较花眼,但是还是管用滴
select
(case when
substr(cast(colA as char(30)),1,1)='-' then
'-'||replace(rtrim(ltrim(replace(replace(replace(replace(cast(colA as char(30)),'-',''),'0',' '),' .','0.'),'. ','.0'))),' ','0')
else
replace(rtrim(ltrim(replace(replace(replace(cast(colA as char(30)),'0',' '),' .','0.'),'. ','.0'))),' ','0') end) result
from tableA;
页: [1]
查看完整版本: DB2数值类型转换成字符串类型