FORMAT
描述
FORMAT 函数用于返回一个使用指定格式字符串和参数格式化的字符串。格式规则遵循 fmt 格式规范。
语法
FORMAT(<format>, <args>[, ...])
参数
| 参数 | 说明 |
|---|---|
<format> | 格式化字符串,包含格式占位符。类型:VARCHAR |
<args> | 需要被格式化的参数(可以是多个)。类型:ANY |
返回值
返回 VARCHAR 类型,为根据格式字符串格式化后的结果。
特殊情况:
- 如果任意参数为 NULL,返回 NULL
- 格式字符串使用
{}作为占位符 - 支持位置参数(如
{0},{1})和命名参数 - 支持各种格式选项(对齐、精度、填充等)
示例
- 基本用法:格式化数字精度
SELECT format('{:.2}', pi());
+-----------------------+
| format('{:.2}', pi()) |
+-----------------------+
| 3.1 |
+-----------------------+
- 多参数格式化
SELECT format('{0}-{1}', 'hello', 'world');
+-------------------------------------+
| format('{0}-{1}', 'hello', 'world') |
+-------------------------------------+
| hello-world |
+-------------------------------------+
- 对齐和填充
SELECT format('{:>10}', 123);
+-----------------------+
| format('{:>10}', 123) |
+-----------------------+
| 123 |
+-----------------------+
- NULL 值处理
SELECT format('{:.2}', NULL);
+-----------------------+
| format('{:.2}', NULL) |
+-----------------------+
| NULL |
+-----------------------+
- utf-8 字符串处理
SELECT format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ');
+---------------------------------------------+
| format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ') |
+---------------------------------------------+
| ṭṛṭṛ-ṭṛ |
+---------------------------------------------+