| 
                         很多数据转换处理操作时,会遇到将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类似。  <div class="codetitle"><a style="CURSOR: pointer" data="12900" class="copybut" id="copybut12900" onclick="doCopy('code12900')"> 代码如下:<div class="codebody" id="code12900">  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.560    <div class="codetitle"><a style="CURSOR: pointer" data="4614" class="copybut" id="copybut4614" onclick="doCopy('code4614')"> 代码如下:<div class="codebody" id="code4614">  SQL>  SQL> select to_char(round(0.007007040000,4) * 100,'FM99999999990.90') || '%' as aa, 2 length(to_char(round(0.007007040000,'FM99999999990.90') || '%') as bb  3 from dual;  AA BB  ---------------- ----------  0.70% 5  SQL>  SQL> select to_char(round(0.007007040000,'99999999990.90') || '%' as aa,'99999999990.90') || '%') as bb  3 from dual;  AA BB  ---------------- ----------  0.70% 16    这是to_char将数字转换成字符串的常见操作功能,还有其他一些格式,见to_char(numeric)的格式模板。  <div class="codetitle"><a style="CURSOR: pointer" data="82588" class="copybut" id="copybut82588" onclick="doCopy('code82588')"> 代码如下:<div class="codebody" id="code82588">  模板 描述  9 带有指定位数的值  0 前导零的值  . (句点) 小数点  ,(逗号) 分组(千)分隔符  PR 尖括号内负值  S 带负号的负值(使用本地化)  L 货币符号(使用本地化)  D 小数点(使用本地化)  G 分组分隔符(使用本地化)  MI 在指明的位置的负号(如果数字 < 0)  PL 在指明的位置的正号(如果数字 > 0)  SG 在指明的位置的正/负号  RN 罗马数字(输入在 1 和 3999 之间)  TH or th 转换成序数  V 移动 n 位(小数)(参阅注解)  EEEE 科学记数。现在不支持。    它还能将时间格式的数据转换成字符串,只是格式更加复杂。                         (编辑:李大同) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |