PostgreSQL quote_nullable() 函数使用指南

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

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

quote_nullable() 语法

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

quote_nullable(string)

参数

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

返回值

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

如果输入为 nullquote_nullable() 将返回一个字符串 NULL。这是与 quote_literal() 函数不同的地方。所以,如果参数可能为 nullquote_nullable() 函数常常是更好的选择。

quote_nullable() 示例

基本用法

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

SELECT
    quote_nullable('abc') AS "abc",
    quote_nullable('How are you?') AS "How are you?",
    quote_nullable(null) AS "null";
  abc  |  How are you?  | null
-------+----------------+------
 'abc' | 'How are you?' |

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

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

内嵌的单引号

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

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

非字符串参数

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

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