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