TO_CHAR 函数将 NUMBERBINARY_FLOATBINARY_DOUBLE 类型的数值 n 按照指定数值格式 fmt 转换为 varchar2 数据类型的值。如果省略 fmt,则 n 被转换为 VARCHAR2 值,其长度足以保持有效数字。若 n 为负值,则负号显示在输出值最左侧,比如 TO_CHAR(-1,’$9’) 返回 -$1,而不是 $-1

语法

  1. TO_CHAR(n [, fmt [, 'nlsparam' ] ])

参数

参数说明
n精确数值或近似数值数据类型类别的表达式。数值数据类型可以为 NUMBERBINARYFLOATBINARY_DOUBLE 数值数据类型。
fmt输出格式参数,详细格式信息请参见 日期时间格式化元素表
nlsparam支持的语言从 sys.V$NLS_VALID_VALUES 获取。

fmt 参数列表

fmt 参数说明
9返回指定位数的值。
0它返回前导 0,它返回尾随 0。
,(逗号)返回指定位置的逗号。您可以在数字格式化中指定多个逗号。
限制条件:格式化数值不能以逗号开头,且逗号不能出现在小数字符或句点的右边。
.(小数点)返回一个小数,且小数点在指定位置。
限制条件:在数字格式化中,您只能指定一个小数点。

返回类型

VARCHAR2 数据类型。

示例

执行以下语句:

  1. SELECT TO_CHAR(123.456,'999') FROM DUAL;

查询结果如下:

  1. +------------------------+
  2. | TO_CHAR(123.456,'999') |
  3. +------------------------+
  4. | 123 |
  5. +------------------------+

更多关于数据转换的信息,请查看文档 数据转换的安全注意事项