oracle中to_char的使用

--时间转化为字符串    
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;        --结果:2021-01-05 16:52:07

--数字转字符串
select to_char(88877)from dual;                                   --数字转字符串,感觉没什么用
select to_char(123456789,'099999999999999') from dual;            --从右到左开始,不足就补充0,结果: 000000123456789
select to_char(123456789,'0999') from dual;                       --从右到左开始,当数字长度大于格式时,返回#####
select to_char(123456789,'9999999999999') from dual;              --不是0开始的。从右到左开始,不足就补充空格,结果:    123456789
select to_char(12345678,'0999,999,999,999') from dual;            --转为指定格式的字符串(只能逗号),结果: 0000,012,345,678
select to_char(12.31,'99.99999999') from dual;                    --给后面补0,结果: 12.31000000,当格式比数字短时,会截取数字再转化为字符串
select to_char(1234567890,'0999,999,999,999.9999') from dual;     --数字与格式结合;结果: 0001,234,567,890.0000

参考:https://blog.csdn.net/jiangnan2014/article/details/16908585

 

转化的时候,结果的前面会出现一个空格,原因是这个是一个正负符号,当数字为正数的时候,返回的结果前面就会出现一个空格。当数字为负数时,返回的结果前面就是一个负号

例如下面

select to_char(-1234567890,'0999,999,999,999.9999') from dual; 

最终的结果为:-0001,234,567,890.0000

参考:https://www.cnblogs.com/kerrycode/p/5084411.html

posted @ 2021-01-05 17:21  masha2017  阅读(843)  评论(0编辑  收藏  举报