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

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

背景

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

SELECT '你好,世界';

当字符串本身包含单引号时,需要进行转义:

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

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

语法:

$tag$<字符串常量>$tag$
SELECT $$目录:c:\'Program Files'\Google$$;

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

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

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

在匿名块中使用美元引号

  • 你可以在后续章节了解匿名块。你可以把以上代码复制到 psqldbeaver 中执行

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

    raise notice ''The number of films: %'', film_count;
    
do 
$$
declare
   film_count integer;
begin 
   select count(*) into film_count
   from film;
   raise notice 'The number of films: %', film_count;
end;
$$
要查看完整内容,请先登录