Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


TO_CHAR

📄字数 775
👁️阅读量 加载中...

功能描述

将数值等类型转换为格式化字符串。

语法格式

sql
TO_CHAR(expr[, fmt])

输入参数

  • expr:要转换的值,数值布尔字符串CLOB 以及 JSON 类型,或能隐式转换为上述类型的其他类型。
  • fmt:格式串,VARCHAR 类型,如:9999.99。如果省略 fmt,则 expr 将被转换为刚好足够容纳其有效数字的字符串值。

参数支持的类型

第一个参数第二个参数
BIGINT-
BOOLEAN-
CHAR-
CLOB-
DOUBLE-
FLOAT-
INTEGER-
JSON-
NUMERIC-
NUMERICCHAR
SMALLINT-
TINYINT-

提示

  • NULL 无具体的类型,当第一个参数为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:TO_CHAR(NULL::NUMERIC)
  • - 表示无输入参数。

支持的格式说明

格式示例描述
空格99 9 9原样输出空格
,9,999在指定位置返回逗号
.99.99在指定位置返回小数点
$$9999返回值前置美元符号
0
  • 0999
  • 9990
  • 返回前导零
  • 返回尾随零
  • 99999返回带有指定数字位数的值,如果为正数则前面加空格,不支持第一个参数为负数。如果值为零,则返回零
    BB9999无实际意义,'B9999' 同 '9999'
    D99D99在指定位置返回小数点
    FFM99999返回的值删除了前置的空格
    G9G999在指定的位置返回逗号
    S
  • S9999
  • 9999S
  • 返回带有前置正号(+)的正值
  • 返回带有后置正号(+)的正值
  • 提示

    • 格式的大小写敏感。

    输出结果

    返回 VARCHAR 类型,任意输入参数为 NULL 时,输出结果为 NULL

    提示

    • 如果格式和输入参数匹配不上,返回结果全为 #

    示例

    sql
    -- 按照格式串返回值
    SQL> SELECT TO_CHAR(123.4, '99999.99'), TO_CHAR(123.4, '$999.99'), TO_CHAR(12345, '99G999') FROM dual;
    
    +----------+---------+--------+
    |  EXPR1   |  EXPR2  | EXPR3  |
    +----------+---------+--------+
    |   123.40 | $123.40 | 12,345 |
    +----------+---------+--------+