Welcome 微信登录

首页 / 数据库 / MySQL / Oracle基础教程:函数to_char将number转成string

很多数据转换处理操作时,会遇到将0.007007040000转换成0.70%的需求,我们使用Oracle 的SQL 函数 to_char可以实现这种转换。这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。格式"999.99",9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定位数没有值,则以空格表示。格式"0990.990",0表示对应的某一个指定位数的值,如果是值是0则显示为0,如果是没有值也显示为0。格式"FM990.90",FM表示将显示出来的字符串定位数没有值而显示的空格清理掉,作用和ltrim类似。SQL> select to_char(12304.560,"999.99") from dual;
 
TO_CHAR(12304.560,"999.99")
---------------------------
#######
 
SQL> select to_char(104.560,"999.99") from dual;
 
TO_CHAR(104.560,"999.99")
-------------------------
 104.56
 
SQL> select to_char(104.560,"99999.99") from dual;
 
TO_CHAR(104.560,"99999.99")
---------------------------
 104.56
 
SQL> select to_char(104.560,"99999.990") from dual;
 
TO_CHAR(104.560,"99999.990")
----------------------------
 104.560
 
SQL> select to_char(104.560,"0099.990") from dual;
 
TO_CHAR(104.560,"0099.990")
---------------------------
 0104.560Sql代码SQL>
SQL> select to_char(round(0.007007040000, 4) * 100, "FM99999999990.90") || "%" as aa,
  2       length(to_char(round(0.007007040000, 4) * 100, "FM99999999990.90") || "%") as bb
  3    from dual;
 
AA                     BB
---------------- ----------
0.70%                   5
 
SQL>
SQL> select to_char(round(0.007007040000, 4) * 100, "99999999990.90") || "%" as aa,
  2       length(to_char(round(0.007007040000, 4) * 100, "99999999990.90") || "%") as bb
  3    from dual;
 
AA                     BB
---------------- ----------
         0.70%       16这是to_char将数字转换成字符串的常见操作功能,还有其他一些格式,见to_char(numeric)的格式模板。模板代码模板    描述
9    带有指定位数的值
0    前导零的值
. (句点)    小数点
, (逗号)    分组(千)分隔符
PR    尖括号内负值
S    带负号的负值(使用本地化)L    货币符号(使用本地化)
D    小数点(使用本地化)
G    分组分隔符(使用本地化)
MI    在指明的位置的负号(如果数字 < 0)
PL    在指明的位置的正号(如果数字 > 0)
SG    在指明的位置的正/负号
RN    罗马数字(输入在 1 和 3999 之间)
TH or th    转换成序数
V    移动 n 位(小数)(参阅注解)
EEEE    科学记数。现在不支持。它还能将时间格式的数据转换成字符串,只是格式更加复杂。 to_date转成字符串时ORA-01843 not a valid month 问题分析Oracle 11g中管理员用户sys,system密码不可用解决办法相关资讯      Oracle函数  Oracle to_char函数  Oracle to_char 
  • Oracle字符串函数总结  (06月20日)
  • Oracle lag()与lead() 函数  (12/01/2015 20:41:24)
  • Oracle ascii函数  (07/26/2015 08:46:01)
  • Oracle使用简单函数  (06月09日)
  • REGEXP_SUBSTR函数的整理  (08/20/2015 20:41:01)
  • Oracle dump函数  (07/26/2015 08:40:01)
本文评论 查看全部评论 (0)
表情: 姓名: 字数