我在下面的查询中给出了类似-$97.90
或的输出$11.00
Select TRIM(to_char(pen_amt,'$999,999,999,999,999.99')) as PenAmount
from transact;
现在,如果值以开头-
,我想删除-
和封装与相同的值($97.90)
。我怎样才能做到这一点?
还使用PR格式模型元素,该元素将正(和零)值用单个空格括起来,将负数用尖括号括起来:如果您确实需要所要求的格式,则可以使用TRANSLATE函数。(请注意,如果我使用TRANSLATE,则无需使用TRIM或TO_CHAR中的格式模型修饰符FM,它们将执行相同的操作;我只需使用TRANSLATE删除空格即可。)
with
test_data (amount) as (
select 320.88 from dual union all
select -309 from dual
)
select amount,
to_char(amount, '$999,999,999.99pr') as pr_formatted_amount,
translate(to_char(amount, '$999,999,999.99pr'), '<> ', '()')
as my_formatted_amount
from test_data
;
AMOUNT PR_FORMATTED_AMOUNT MY_FORMATTED_AMOUNT
---------- ------------------- -------------------
320.88 $320.88 $320.88
-309 <$309.00> ($309.00)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句