postgreSQL自定义函数的$$的使用疑问,

油糕
  • 137

postgreSQL自定义函数的$$,内变量正确的使用是怎样的,想请问下大佬们

CREATE OR REPLACE FUNCTION sum_avg(
 VARIADIC list NUMERIC[],
 OUT total NUMERIC, 
        OUT average NUMERIC)
AS $$    // -<<<<<这里的$$正确的使用场景,什么时候用,看了例子懂了点但是不全懂
BEGIN
   SELECT INTO total SUM(list[i])
   FROM generate_subscripts(list, 1) g(i);

   SELECT INTO average AVG(list[i])
   FROM generate_subscripts(list, 1) g(i);

END; $$
LANGUAGE plpgsql;

以下是pgsql官方文档的例子
image.png
对于官方例子的疑问,官方例子说$q$[\t\r\n\v\]$q$作为字符串[\t\r\n\v\],这我就很不理解了,那开始的美元符号$和结束的$不应该是作为标识符忽略掉吗,如果不忽略,那里面已经相当于是$q $[\t\r\n\v\] $q $ 这几个变量了,那最后的一个就是一个单独的$符号,这怎么鬼意思???查资料搜不到,视频页是没有,有点心态炸了。

回复
阅读 120
1 个回答

你没仔细看。字符串的定义规则是 开始结束是$$`, 但是这两个`$$中间可以有说明字符,比如 $html$从这开始是字符串内容,但是不能包含开始分隔符,后面是字符串结尾$html$ 前面字符串的值是汉字部分,不包含前后的$html$

你知道吗?

宣传栏