相关疑难解决方法(0)

如何将JSON数组转换为文本数组?

此解决方法不起作用

CREATE FUNCTION json_array_castext(json) RETURNS text[] AS $f$
  SELECT array_agg(x::text) FROM json_array_elements($1) t(x);
$f$ LANGUAGE sql IMMUTABLE;

-- Problem:
SELECT 'hello'='hello';  -- true...
SELECT  (json_array_castext('["hello","world"]'))[1] = 'hello'; -- false!
Run Code Online (Sandbox Code Playgroud)

那么,如何获取文本的真实数组?

PS:使用所谓的“头等公民” JSONb,同样的问题。


编辑:@OtoShavadze好的答案(注释已解决!)之后,PostgreSQL开发人员清单为什么x::text进行强制转换(使用第9.5.6页),为什么它不生成警告或错误?

arrays postgresql json

6
推荐指数
2
解决办法
3887
查看次数

标签 统计

arrays ×1

json ×1

postgresql ×1