- 类别:
TO_CHAR、TO_VARCHAR¶
将输入表达式转换为字符串。对于 NULL 输入,输出为 NULL。
这些函数为同义函数。
语法¶
实参¶
必填:
expr任何数据类型的表达式。
numeric_expr数值表达式。
date_or_time_exprDATE、TIME 或 TIMESTAMP 类型的表达式。
binary_exprBINARY 或 VARBINARY 类型的表达式。
可选:
format输出字符串的格式:
对于
numeric_expr,指定用于解释数字表达式的 SQL 格式模型。有关更多信息,请参阅 SQL 格式模型。对于
date_or_time_expr,指定解析或生成字符串的预期格式。有关更多信息,请参阅 转换函数中的日期和时间格式。默认值为以下会话参数的当前值:
对于
binary_expr,指定生成字符串的格式(例如 'HEX'、'BASE64' 或 'UTF-8')。有关更多信息,请参阅 支持的二进制格式概述。
返回¶
此函数返回 VARCHAR 数据类型的值或 NULL 值。
使用说明¶
对于 VARIANT、ARRAY 或 OBJECT 输入,输出是包含 JSON 文档或 JSON 基本值的字符串(除非 VARIANT 或 OBJECT 包含 XML 标签,在这种情况下,输出是包含 XML 文档的字符串):
存储在 VARIANT 中的字符串按原样保留(即不转换为 JSON 字符串)。
JSON null 值被转换为包含“null”一词的字符串。
示例¶
以下示例将数字、时间戳和日期转换为字符串。
转换数字的例子¶
将数值转换为指定 格式 的字符串:
输出说明了如何根据指定的格式将值转换为字符串:
>和<符号是包含在输出中的字符串字面量。这样更容易看到插入空格的位置。D2_1列显示数值,数字前打印$。对于
3987值,数字整数部分的位数超过了格式中数字位置的数量,因此所有位数都打印为#,以表示溢出。对于
0.10、0.01和1.111值,其小数部分的位数超过了格式中数字位置的数量,因此小数值被截断。
D4_1列显示,数字的整数部分中的零值被表示为空格。对于
0、0.10和0.01值,分隔符前的零用空格代替。对于
0.10、0.01和1.111值,其小数部分的位数超过了格式中数字位置的数量,因此小数值被截断。
TME列以科学符号显示值。TM9列根据数字的值将值显示为整数或小数部分。X4列将值显示为十六进制数字,不含小数部分。SX4列显示数值的绝对值的十六进制数字,并包含数字符号(+或-)。
此示例将一个对数值转换为字符串:
转换时间戳和日期的示例¶
将 TIMESTAMP 值转换为指定格式的字符串:
将 DATE 值转换为默认格式的字符串:
将 DATE 值转换为指定格式的字符串: