|
|
工作中碰到需要把数值类型的金额转换成字符串类型,网上没有找到合适的答案,有的没有考虑"-"号,有的没有考虑"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; |
|