PostgreSQL quote_literal() 函数

PostgreSQL quote_literal() 函数使用单引号引用给定的字符串,以用作 SQL 语句字符串中的字符串字面量。

如果字符串中含有单引号,则会转为两个单引号。比如 a'b 转为 'a''b'

quote_literal() 语法

这里是 PostgreSQL quote_literal() 函数的语法:

quote_literal(string)

参数

string
必需的。它可以是任意类型的值。非字符串类型的值会被当作字符串处理。

返回值

PostgreSQL quote_literal() 函数返回一个使用单引号包裹的转义的 SQL 字符串字面量。

如果输入为 nullquote_literal() 将返回 null。所以,如果参数可能为 nullquote_nullable() 函数常常是更好的选择。

quote_literal() 示例

基本用法

这个示例演示了 quote_literal() 函数的基本用法。

SELECT
    quote_literal('abc') AS "abc",
    quote_literal('How are you?') AS "How are you?",
    quote_literal(null) AS "null";
``

```output
  abc  |  How are you?  | null
-------+----------------+------
 'abc' | 'How are you?' |

从上面的结果我们可以看出:

  1. 所有的字符串都被单引号引起来了。
  2. 参数为 null, 返回值为 null.

内嵌的单引号

如果字符串中含有单引号,则会转为两个单引号。比如:

SELECT quote_literal(E'Don\'t do that.');
   quote_literal
-------------------
 'Don''t do that.'

非字符串参数

您可以对 quote_literal() 函数使用一个非字符串参数,比如:

SELECT quote_literal(123.45);
 quote_nullable
----------------
 '123.45'