📜  PostgreSQL – FORMAT函数

📅  最后修改于: 2022-05-13 01:57:15.114000             🧑  作者: Mango

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;

输出: