oracle将字符串数字化,ORACLE将数字转换为字符串
Alex Poole..13使用FM格式模型修饰符来关闭,因为在小数点分隔符后不会得到尾随零; 但你仍然会得到分隔符,例如50..你可以rtrim用来摆脱它:select to_char(a, '99D90'),to_char(a, '90D90'),to_char(a, 'FM90D99'),rtrim(to_char(a, 'FM90D99'), to_char(0, 'D'))from (s
Alex Poole..
13
使用FM格式模型修饰符来关闭,因为在小数点分隔符后不会得到尾随零; 但你仍然会得到分隔符,例如50..你可以rtrim用来摆脱它:
select to_char(a, '99D90'),
to_char(a, '90D90'),
to_char(a, 'FM90D99'),
rtrim(to_char(a, 'FM90D99'), 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, 'FM90D99'), to_char(0, '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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)