ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB TO_NUMBER函数

YashanDB TO_NUMBER函数

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-08-08 09:48:07 0 删除 编辑

TO_NUMBER函数将 expr的值按format格式转换为NUMBER类型的数据。

expr值的数据类型可以为:

  • 数值型:此时不需要指定format,函数直接转换为NUMBER类型。
  • 字符型:此时函数将根据format格式转换,且expr内容需符合指定的format格式。

当expr的值为NULL时,函数返回NULL。

format

指定转换的格式,支持以下字符的组合:

  • 小数点: .,如'99.99'
  • 美元符号: $,如'$9,999'
  • 强迫零显示: 0,如'00000'
  • 指定位置返回数字: 9,如'9999'
  • 指定位置返回小数点: D,如'99D99'
  • 设首位或末尾为-或+: S,如'S9999'
  • 千位分隔符: ,,如'9,999'
  • 在指定位置返回千位分隔符: G,如'9G9'

(以下为列存表专用格式)

  • 当整数部分为零时,返回定点数字整数部分的空格: B,如'B99'
  • 在指定位置返回货币符号: C,如'C99'
  • 以科学计数法的形式返回数字: EEEE,如'9EEEE'
  • 在指定位置显示货币符号: L,如'L99'
  • 负值末尾填充负号,正值末尾填充空格: MI,如'9MI'
  • 负值放在<>中,正值首尾填充空格: PR,如'9PR'
  • 返回大写罗马数字形式: RN,如'RN'
  • 返回小写罗马数字形式: rn,如'RN'
  • 以最少的字符数返回十进制数字字符串: TM,如'TM'
  • 在指定位置返回欧元等货币符号: U,如'U99'
  • 返回10 n值,其中n是V后面的数字: V,如'99V99'
  • 返回指定数字的十六进制值: X,如'XXX'
  • 去掉前后空格和小数后面多余的0: FM,如'FM999'

示例

--将所有数据转化为NUMBER类型输出,此数据的显示宽度与SET NUMWIDTH有关SELECT TO_NUMBER(numbera) n1,TO_NUMBER(numberb) n2,TO_NUMBER(numberc) n3,TO_NUMBER(numberd) n4,TO_NUMBER(numbere) n5,TO_NUMBER(numberf) n6,TO_NUMBER(numberg) n7FROM numbers;
        N1          N2          N3          N4          N5          N6          N7       
----------- ----------- ----------- ----------- ----------- ----------- ----------- 
         -5          55        5555  5.5556E+18  5.55499983  -5.5555556         555
代码
to_number::= TO_NUMBER "("expr ["," format] ")"

TO_NUMBER函数将 expr的值按format格式转换为NUMBER类型的数据。

expr值的数据类型可以为:

  • 数值型:此时不需要指定format,函数直接转换为NUMBER类型。
  • 字符型:此时函数将根据format格式转换,且expr内容需符合指定的format格式。

当expr的值为NULL时,函数返回NULL。

format

指定转换的格式,支持以下字符的组合:

  • 小数点: .,如'99.99'
  • 美元符号: $,如'$9,999'
  • 强迫零显示: 0,如'00000'
  • 指定位置返回数字: 9,如'9999'
  • 指定位置返回小数点: D,如'99D99'
  • 设首位或末尾为-或+: S,如'S9999'
  • 千位分隔符: ,,如'9,999'
  • 在指定位置返回千位分隔符: G,如'9G9'

(以下为列存表专用格式)

  • 当整数部分为零时,返回定点数字整数部分的空格: B,如'B99'
  • 在指定位置返回货币符号: C,如'C99'
  • 以科学计数法的形式返回数字: EEEE,如'9EEEE'
  • 在指定位置显示货币符号: L,如'L99'
  • 负值末尾填充负号,正值末尾填充空格: MI,如'9MI'
  • 负值放在<>中,正值首尾填充空格: PR,如'9PR'
  • 返回大写罗马数字形式: RN,如'RN'
  • 返回小写罗马数字形式: rn,如'RN'
  • 以最少的字符数返回十进制数字字符串: TM,如'TM'
  • 在指定位置返回欧元等货币符号: U,如'U99'
  • 返回10 n值,其中n是V后面的数字: V,如'99V99'
  • 返回指定数字的十六进制值: X,如'XXX'
  • 去掉前后空格和小数后面多余的0: FM,如'FM999'

示例

--将所有数据转化为NUMBER类型输出,此数据的显示宽度与SET NUMWIDTH有关SELECT TO_NUMBER(numbera) n1,TO_NUMBER(numberb) n2,TO_NUMBER(numberc) n3,TO_NUMBER(numberd) n4,TO_NUMBER(numbere) n5,TO_NUMBER(numberf) n6,TO_NUMBER(numberg) n7FROM numbers;
        N1          N2          N3          N4          N5          N6          N7       
----------- ----------- ----------- ----------- ----------- ----------- ----------- 
         -5          55        5555  5.5556E+18  5.55499983  -5.5555556         555


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3093009/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639728