| --- |
| { |
| "title": "FORMAT", |
| "language": "en", |
| "description": "The FORMAT function returns a string formatted using the specified format string and parameters." |
| } |
| --- |
| |
| ## Description |
| |
| The FORMAT function returns a string formatted using the specified format string and parameters. The formatting rules follow the [fmt format specification](https://fmt.dev/11.1/syntax/#format-specification-mini-language). |
| |
| ## Syntax |
| |
| ```sql |
| FORMAT(<format>, <args>[, ...]) |
| ``` |
| |
| ## Parameters |
| |
| | Parameter | Description | |
| | ---------- | ----------------------------------------- | |
| | `<format>` | Format string containing format placeholders. Type: VARCHAR | |
| | `<args>` | Parameters to be formatted (can be multiple). Type: ANY | |
| |
| ## Return Value |
| |
| Returns VARCHAR type, representing the result formatted according to the format string. |
| |
| Special cases: |
| - If any parameter is NULL, returns NULL |
| - Format string uses `{}` as placeholder |
| - Supports positional parameters (e.g., `{0}`, `{1}`) and named parameters |
| - Supports various format options (alignment, precision, padding, etc.) |
| |
| ## Examples |
| |
| 1. Basic usage: Format number precision |
| ```sql |
| SELECT format('{:.2}', pi()); |
| ``` |
| ```text |
| +-----------------------+ |
| | format('{:.2}', pi()) | |
| +-----------------------+ |
| | 3.1 | |
| +-----------------------+ |
| ``` |
| |
| 2. Multiple parameter formatting |
| ```sql |
| SELECT format('{0}-{1}', 'hello', 'world'); |
| ``` |
| ```text |
| +-------------------------------------+ |
| | format('{0}-{1}', 'hello', 'world') | |
| +-------------------------------------+ |
| | hello-world | |
| +-------------------------------------+ |
| ``` |
| |
| 3. Alignment and padding |
| ```sql |
| SELECT format('{:>10}', 123); |
| ``` |
| ```text |
| +-----------------------+ |
| | format('{:>10}', 123) | |
| +-----------------------+ |
| | 123 | |
| +-----------------------+ |
| ``` |
| |
| 4. NULL value handling |
| ```sql |
| SELECT format('{:.2}', NULL); |
| ``` |
| ```text |
| +-----------------------+ |
| | format('{:.2}', NULL) | |
| +-----------------------+ |
| | NULL | |
| +-----------------------+ |
| ``` |
| |
| 5. UTF-8 string handling |
| ```sql |
| SELECT format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ'); |
| ``` |
| ```text |
| +---------------------------------------------+ |
| | format('{0}-{1}', 'ṭṛṭṛ', 'ṭṛ') | |
| +---------------------------------------------+ |
| | ṭṛṭṛ-ṭṛ | |
| +---------------------------------------------+ |
| ``` |