PostgreSQL – FORMAT函数
在PostgreSQL 中, FORMAT()函数用于根据格式字符串格式化参数。
Syntax:
FORMAT(format_string [, format_argument [, ....] ])
我们来分析一下上面的语法:
- 格式()函数是可变参数,这意味着,用户可以用标记了一个可变的关键字数组提供的参数。
- 格式()函数考虑数组元素作为正常参数和它把NULL作为零个元素的阵列。
参数
1. 格式字符串
format_string 设置生成的格式化字符串的行为。它还具有文本和格式说明符。在这个函数,文本参数被直接复制到结果字符串,格式说明符是参数的占位符。
格式说明符的语法:
Syntax: %[position][flags][width]type
请注意,格式说明符以“%”开头,它具有三个可选组件位置、标志、宽度和必需的组件类型。
2.位置
它用于设置要插入到结果字符串。位置采用 n$ 的形式,其中 n 是参数索引。第一个参数从 1 开始。如果未设置位置组件,则默认为列表中的下一个参数。
3. 旗帜
此组件与宽度字段结合使用,例如,标志可以接受减号 (-),指示格式说明符的输出左对齐。
4.宽度
它是一个可选参数,用于设置用于显示格式说明符输出的最小字符数。在此阶段,可以进行填充以填充空白空间,而如果字符串小于指定的宽度,则可以使用填充宽度所需的空间向左或向右填充结果字符串。在完全相反的情况下,结果字符串没有任何更改地显示。
width 参数可以包含以下值:
- 一个正整数值。
- 使用下一个函数参数作为宽度的星号 (*)。
- *n$ 形式的字符串使用第 n 个函数参数作为宽度。
5. 类型
它用于从格式说明符定义输出字符串的类型。
它可以保存以下值:
- s:它将参数值格式化为字符串。 NULL 值被视为空字符串。
- I:它将参数值视为 SQL 标识符。
- L:它使参数值作为 SQL字面量。
I 和 L 通常用于构造动态 SQL 语句。双百分比 (%%) 也可用于包含 % 符号
6. 格式参数
如前所述,用户将许多格式参数传递给 FORMAT()函数。
返回值
FORMAT()函数返回一个格式化的字符串。
示例 1:
以下语句使用FORMAT()函数格式化字符串:
SELECT FORMAT('Hello, %s', 'Geeks!!');
输出:
示例 2:
以下语句使用FORMAT()函数从示例数据库的客户表中的名字和姓氏构造客户的全名,即 dvdrental :
SELECT
FORMAT('%s, %s', last_name, first_name) full_name
FROM
customer;
ORDER BY
full_name;
输出: