如何将ANYARRAY函数的空数组值CAST到ANYARRAY?

时间:2018-05-10 20:48:40

标签: arrays postgresql

我正在使用pgv10。我需要的功能似乎是错误的功能:

CREATE FUNCTION array_coalesce(ANYARRAY) RETURNS ANYARRAY AS $f$
  SELECT CASE WHEN $1 IS NULL THEN array[]::ANYARRAY ELSE $1 END;
$f$ language SQL IMMUTABLE;

好奇心

...我开始简化一个复杂的问题,并且进入工作的测试select coalesce(null::text[], array[]::text[]) ......所以这是一个很好的问题,如何实现它?但抱歉,我做了一些工作, COALESCE(数组,数组)工作正常(p!)。

因此,“合并问题”仅仅是说明性的/遗嘱的。我真正想要理解的是:
如何使用ANYARRAY

PS:其他好奇心,PostgreSQL中的字符串concat()||和其他连接运算符会做一些“合并”,

 select concat(NULL::text, 'Hello', NULL::text); -- 'Hello'
 select null::text[] || array[]::text[]; -- []
 select array[]::text[] || null::text[]; -- []

0 个答案:

没有答案