以美元符号作为引号的字符串常量

本章将讨论如何在 PL/pgSQL 编程中使用以美元符号作为引号的字符串常量。

背景

在 PostgreSQL 中,当使用字符串时,需要使用单引号:

SELECT '他说:''你好,世界''。';

为了减少转义,让字符串常量更具可读性,PostgreSQL 加入了使用以美元符号作为引号的语法。

以美元符号作为引号

语法:

$tag$<字符串常量>$tag$
  • tag:可选,可以是零个或多个字符串
  • 字符串常量:可以放置任何字符,包括单引号、反斜杠等

上例中,我们没有设置 tag,我们可以设置 tag 试试:

SELECT $dir$目录:c:\'Program Files'\Google$dir$;

此例中,我们设置 tagdir

为简化描述,我们将”以美元符号作为引号“简称为”美元引号“或者”DQ“

do 
'declare
   film_count integer;
begin 
   select count(*) into film_count
   from film;
   raise notice ''The number of films: %'', film_count;
end;';
  • 你可以在后续章节了解匿名块。你可以把以上代码复制到 psqldbeaver 中执行

  • 块中的代码必须用单引号括起来。如果代码内部也有单引号,必须进行转义:

    raise notice ''The number of films: %'', film_count;
    

为了避免频繁的转义带来复杂度和出错概率,我们使用美元引号来代替:

要查看完整内容,请先登录