FORMAT
説明
FORMAT関数は、指定されたフォーマット文字列とパラメータを使用してフォーマットされた文字列を返します。フォーマットルールはfmt format specificationに従います。
構文
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}', 'ṭṛṭṛ', 'ṭṛ') |
+---------------------------------------------+
| ṭṛṭṛ-ṭṛ |
+---------------------------------------------+