跳到主要内容

FORMAT

描述

FORMAT 函数用于返回一个使用指定格式字符串和参数格式化的字符串。格式规则遵循 fmt 格式规范

语法

FORMAT(<format>, <args>[, ...])

参数

参数说明
<format>格式化字符串,包含格式占位符。类型:VARCHAR
<args>需要被格式化的参数(可以是多个)。类型:ANY

返回值

返回 VARCHAR 类型,为根据格式字符串格式化后的结果。

特殊情况:

  • 如果任意参数为 NULL,返回 NULL
  • 格式字符串使用 {} 作为占位符
  • 支持位置参数(如 {0}, {1})和命名参数
  • 支持各种格式选项(对齐、精度、填充等)

示例

  1. 基本用法:格式化数字精度
SELECT format('{:.2}', pi());
+-----------------------+
| format('{:.2}', pi()) |
+-----------------------+
| 3.1 |
+-----------------------+
  1. 多参数格式化
SELECT format('{0}-{1}', 'hello', 'world');
+-------------------------------------+
| format('{0}-{1}', 'hello', 'world') |
+-------------------------------------+
| hello-world |
+-------------------------------------+
  1. 对齐和填充
SELECT format('{:>10}', 123);
+-----------------------+
| format('{:>10}', 123) |
+-----------------------+
| 123 |
+-----------------------+
  1. NULL 值处理
SELECT format('{:.2}', NULL);
+-----------------------+
| format('{:.2}', NULL) |
+-----------------------+
| NULL |
+-----------------------+
  1. utf-8 字符串处理
SELECT format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ');
+---------------------------------------------+
| format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ') |
+---------------------------------------------+
| ṭṛṭṛ-ṭṛ |
+---------------------------------------------+