• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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.560

    复制代码 代码如下:

    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 科学记数。现在不支持。

    它还能将时间格式的数据转换成字符串,只是格式更加复杂。
    您可能感兴趣的文章:
    • oracle中rownum和row_number()
    • Oracle Number型数值存储与转换的实现详解
    • Oracle Number型的深入理解
    • Oracle row_number() over()解析函数高效实现分页
    • Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
    • Oracle数字类型number自增的实现代码
    上一篇:Oracle数据完整性和锁机制简析
    下一篇:Oracle Connect to Idle Instance解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    oracle to_char函数将number转成string oracle,char,函数,将,number,