TO_CHAR
函数将 NUMBER
、BINARY_FLOAT
或 BINARY_DOUBLE
类型的数值 n
按照指定数值格式 fmt
转换为 varchar2
数据类型的值。如果省略 fmt
,则 n
被转换为 VARCHAR2
值,其长度足以保持有效数字。若 n
为负值,则负号显示在输出值最左侧,比如 TO_CHAR(-1,’$9’)
返回 -$1
,而不是 $-1
。
语法
TO_CHAR(n [, fmt [, 'nlsparam' ] ])
参数
参数 | 说明 |
n | 精确数值或近似数值数据类型类别的表达式。数值数据类型可以为 NUMBER 、BINARYFLOAT 或 BINARY_DOUBLE 数值数据类型。 |
fmt | 输出格式参数,详细格式信息请参见 日期时间格式化元素表。 |
nlsparam | 支持的语言从 sys.V$NLS_VALID_VALUES 获取。 |
fmt 参数列表
fmt 参数 | 说明 |
9 | 返回指定位数的值。 |
0 | 它返回前导 0,它返回尾随 0。 |
,(逗号) | 返回指定位置的逗号。您可以在数字格式化中指定多个逗号。 限制条件:格式化数值不能以逗号开头,且逗号不能出现在小数字符或句点的右边。 |
.(小数点) | 返回一个小数,且小数点在指定位置。 限制条件:在数字格式化中,您只能指定一个小数点。 |
返回类型
VARCHAR2
数据类型。
示例
执行以下语句:
SELECT TO_CHAR(123.456,'999') FROM DUAL;
查询结果如下:
+------------------------+
| TO_CHAR(123.456,'999') |
+------------------------+
| 123 |
+------------------------+
更多关于数据转换的信息,请查看文档 数据转换的安全注意事项。