Oracle的to_char()函数使用

(1)用作日期转换:

to_char(date,'格式');

select to_date('2005-01-01 ','yyyy-MM-dd') from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

(2)处理数字:

to_char(number,'格式');

select to_char(88877) from dual;
select to_char(1234567890,'099999999999999')  from dual;
select to_char(12345678,'999,999,999,999')  from dual;
select to_char(123456,'99.999')  from dual;
select to_char(1234567890,'999,999,999,999.9999')  from dual;

(3)to_char(salary,'$99,99');

 select TO_CHAR(123,'$99,999.9') from dual;

(4)用于进制转换:将10进制转换为16进制;

select to_char(4567,'xxxx') from dual;
select to_char(123,'xxx') from dual;

例子:

//// to_char 例子

①其9代表:如果存在数字则显示数字,不存在则显示空格

②其0代表:如果存在数字则显示数字,不存在则显示0,即占位符。

③其FM代表:删除如果是因9带来的空格,则删除之

to_char(now(),'Day, HH12:MI:SS')    'Tuesday , 05:39:18'
to_char(now(),'FMDay, HH12:MI:SS')    'Tuesday, 05:39:18'
to_char(-0.1,'99.99')    ' -.10'
to_char(-0.1,'FM9.99')    '-.1'
to_char(0.1,'0.9')    ' 0.1'
to_char(12,'9990999.9')    ' 0012.0'
to_char(12,'FM9990999.9')    '0012'
to_char(485,'999')    ' 485'
to_char(-485,'999')    '-485'
to_char(485,'9 9 9')    ' 4 8 5'
to_char(1485,'9,999')    ' 1,485'
to_char(1485,'9G999')    ' 1 485'
to_char(148.5,'999.999')    ' 148.500'
to_char(148.5,'999D999')    ' 148,500'
to_char(3148.5,'9G999D999')    ' 3 148,500'
to_char(-485,'999S')    '485-'
to_char(-485,'999MI')    '485-'
to_char(485,'999MI')    '485'
to_char(485,'PL999')    '+485'
to_char(485,'SG999')    '+485'
to_char(-485,'SG999')    '-485'
to_char(-485,'9SG99')    '4-85'
to_char(-485,'999PR')    '<485>'
to_char(485,'L999')    'DM 485
to_char(485,'RN')    ' CDLXXXV'
to_char(485,'FMRN')    'CDLXXXV'
to_char(5.2,'FMRN')    V
to_char(482,'999th')    ' 482nd'
to_char(485, '"Good number:"999')    'Good number: 485'
to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999')    'Pre-decimal: 485 Post-decimal: .800'
to_char(12,'99V999')    ' 12000'
to_char(12.4,'99V999')    ' 12400'
to_char(12.45, '99V9')    ' 125'

 

 

posted @ 2018-12-05 21:04  芬乐  阅读(13005)  评论(0编辑  收藏  举报