当前位置:数据库 > Oracle >>

Oracle中字符串转换函数小数转法

Oracle中字符串转换函数小数转法
 
    to_char()函数的字符串转换格式归纳如下:
 
      to_char(var[,format]) 函数转换格式说明:
      1.  [format] '999'  N 为转换格式数字9的个数。
 
       若数字var位数小于或等于转换格式数字9的个数,则转换后的字符串前面补空字符,凑足转换格式的位数+1 个位数;若数字var位数大于转换格式数字9的个数,则无法正确转换,转后的显示是N+1个 # 号
        对于小数,只转换整数部分。
 
        2.[format] '099' N为转换格式数字9和0的个数
      若数字var位数小于或等于转换格式数字9+0的个数,则转换后的字符串前面一个空字符和(N-var位数-1)个0,若数字var位数大于转换格式数字9+0的个数,则无法正确转换,转后的显示是N+1个 # 号
       对于小数,只转换整数部分。
 
       3.[format] '990'
       转换规则同(1)
      对于小数,只转换整数部分。
 
      4.[format] '999.99'  N1 为整数部分格式数字9的个数,N2为小数部分个数数字的个数
      数字var的整数部分转换规则同(1);小数部分若数字var位数小于N2,则小数部分补0,凑足N2的个数;若小数部分位数大于N2,则按照四舍五入截取N2个位数
 
       5.[format] '990.999'
      转换规则与(4)大致相同,区别在于(5)对于整数部分为0的小数处理更完善
       若:to_char(0.75,'999.99') = .75
      to_char(0.75,'990.99') = 0.75
 
        6.[format] 'FM999'
       转换规则与(1)相同,但这个格式可以将转换后字符串前面的空格删除,可以说处理更完善
 
        7.[format] 'FM990.999'
       格式(5)和格式(6)的组合,小数部分不会自动添加0,因为‘FM’会把小数末尾的0当做空字符处理,删除掉
 
       8.[format] 'FM990.990'
       转换规则与(7)大致相同,不同之处在于,(8)格式中会在var小数部分位数小于转换格式小数部分时,在后面加0
       [format] '990.900' 与[format] '990.990' 相同
 
       9.[format] 'FM990.099' 或者 'FM990.999'   2个格式相同 
      对小数数字处理最完善的格式,可以将数字原样转换成字符串,当然整数部分位数不能小于数字var的整数部分位数
 
      10.[format] to_char(var)
       对整数数字处理最完善的格式,当然也可以用to_char(var,'FM99999999'),但是此方法有点多此一举,并且转换格式中9的个数要保证大于var的位数才能成功转换,否则转换不能成功
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,