ORACLE将数字转换为字符串
发布时间:2020-12-12 13:09:24 所属栏目:百科 来源:网络整理
导读:转换数字需要一些帮助: select to_char(a,'99D99'),to_char(a,'90D99')from(select 50 a from dualunionselect 50.57 from dualunionselect 5.57 from dualunionselect 0.35 from dualunionselect 0.4 from dual 将导致: 1,35 0,352,40 0,403 5,57 5,574 5
转换数字需要一些帮助:
select to_char(a,'99D99'),to_char(a,'90D99') from ( select 50 a from dual union select 50.57 from dual union select 5.57 from dual union select 0.35 from dual union select 0.4 from dual 将导致: 1,35 0,35 2,40 0,40 3 5,57 5,57 4 50,00 50,00 5 50,57 50,57 但是如何使我的输出像: > 0,35 我在逗号之前需要0,但之后不需要. 使用FM format model modifier来关闭,因为你不会得到小数分隔符后面的尾随零;但你仍然会得到分隔符,例如50 ..你可以使用rtrim摆脱它:
select to_char(a,'99D90'),'90D90'),'FM90D99'),rtrim(to_char(a,to_char(0,'D')) from ( select 50 a from dual union all select 50.57 from dual union all select 5.57 from dual union all select 0.35 from dual union all select 0.4 from dual ) order by a; TO_CHA TO_CHA TO_CHA RTRIM( ------ ------ ------ ------ .35 0.35 0.35 0.35 .40 0.40 0.4 0.4 5.57 5.57 5.57 5.57 50.00 50.00 50. 50 50.57 50.57 50.57 50.57 请注意,我使用to_char(0,’D’)来生成要修剪的字符,以匹配小数分隔符 – 因此它会查找与第一个to_char相加的相同字符,或. 轻微的缺点是你失去了对齐.如果在其他地方使用它可能无关紧要,但它确实可以将它包装在一个lpad中,这开始使它看起来有点复杂: ... lpad(rtrim(to_char(a,'D')),6) ... TO_CHA TO_CHA TO_CHA RTRIM( LPAD(RTRIM(TO_CHAR(A,'FM ------ ------ ------ ------ ------------------------ .35 0.35 0.35 0.35 0.35 .40 0.40 0.4 0.4 0.4 5.57 5.57 5.57 5.57 5.57 50.00 50.00 50. 50 50 50.57 50.57 50.57 50.57 50.57 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容