oracle tochar 格式 ¥,ORACLE函数TO_CHAR以及数字转换格式

ORACLE函数TO_CHAR以及数字转换格式

数点,则要和D配合使用,不能和点号配合.

11 L(本地货币符号) 'L999' 是C的本地版本.可以放在整个格式的最前面和最后面.

TO_CHAR(123456,'999G9G99D00L')=123,4,56.00¥

注意事项:同第七项 C

12 MI(负号) '9999MI'

如果是负数,在尾部加上负号(-),如果是正数,则尾巴加上空格

to_char(1234,'9999mi')||'S'||TO_CHAR(-5678,'9999MI') =1234 S5678-

注意事项:只能放在格式尾巴

13 PR(符号) 9999PR 是表达负数的另外一种方式.如果是正数,则头部加上空格;如果是负数,则用小简括号<>把数字包起来.

TO_CHAR(-1234.89,'9G999D00PR')=<1,234.89>

注意事项:同12

14 RN(rn) RN(rn) 把整数(1-3999)转换为罗马字符.RN表示转为大写,rn表示小写的.

declare

i int;

begin

for i in 1..20 loop

dbms_output.put_line(to_char(i,'RN'));

end loop;

end;

注意事项:只能自己使用,不能和其它符号组合使用.

15 S '9999S' 是12,13的综合改进版本.为整数加一个正号+,为负数加一个符号-.S在前则加在前,在后则在后.

TO_CHAR(-1234,'S9999')=-1234;TO_CHAR(1234,'S9999')=+1234

16 TM TM9/TMe

使用这个参数等于没有用参数to_char(number)一样,应为'tm9'是默认的格式参数.

to_char(1234,'tme')=1234

注意事项:格式要么是TM9,要么是TME.

当数字长度超过64位时候,TM9的输出等同于TME的输出.

17 U U999 双币符号,例如欧元.作用同11的L

TO_CHAR(999,'U999')=¥999

注意事项:通过NLS_DUAL_CURRENCY 控制

18 V 999V9 这是个比较古怪,又不是很常使用的符号。它的作用在于做一个计算。

例如TO_CHAR(N,'999V9'),以p表示V的位置,则该表达式=to_char(N×(10的P-1次方)).但是9个数又必须保证大于等于乘积之后表示的位数.

TO_CHAR(5,'9V')=5*1=5;

TO_CHAR(5,'9V9')=5*10=50

TO_CHAR(5,'9V99')=500

TO_CHAR(50,'9V99')='######' 9的个数不够

注意事项:格式中不能和小数表达写在一起,但是可以混合货币等。

19 X xxxx 转换为16进制。

TO_CHAR(100,'XX')= 64

注意事项:数值必须是大于等于0的整数。前面只能和0或者FM组合使用.

20 通过以上的例子,我们了解了各种数字的格式。可以说格式太多样,难于记在脑子,最好是作为一个参考存在着.

归类:

数值类: 0,9,

分组类: (.),(,),D,G ,其中点好和逗号因为表示不明显,所以用小括号凸显。

货币类: $,C,L,U

计算转换类:EEEE,RN,V,X

正负符号:MI,PR,S

其它类:B

正统类:TM

1.2 格式说明

从上图可以看到格式是可选取的,保留字fmt也不是必须的,关键是NLSPARAM的意思,

从第2-54章节(FORMAT MODELS)查看。

NLSPARAM可以是这样 'NLS_NUMERIC_CHARACTERS = ''dg'' NLS_CURRENCY = ''text'' NLS_ISO_CURRENCY = territory '

举例:(待续)

SELECT TO_CHAR(-10000, 'C99G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值