sql 一些函数将数组/ hstore转换为json :)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 一些函数将数组/ hstore转换为json :)相关的知识,希望对你有一定的参考价值。

CREATE OR REPLACE FUNCTION escape_json (text) RETURNS text AS $$
SELECT replace($1, '''', '\'''); $$ LANGUAGE SQL IMMUTABLE;


CREATE OR REPLACE FUNCTION to_json(text) RETURNS text AS $$
SELECT escape_json($1) $$ LANGUAGE SQL IMMUTABLE;


CREATE OR REPLACE FUNCTION to_json(KEY text, value text) RETURNS text AS $$
SELECT '''' || to_json($1) || ''': ''' || to_json($2) || ''''; $$ LANGUAGE SQL IMMUTABLE;


CREATE OR REPLACE FUNCTION to_json(hstore) RETURNS text AS $$
SELECT '{' || array_to_string(array_agg(to_json(item.KEY, item.value)), ', ') || '}'
FROM each($1) item; $$ LANGUAGE SQL IMMUTABLE;


CREATE OR REPLACE FUNCTION to_json(text[]) RETURNS text AS $$
SELECT to_json(hstore($1)); $$ LANGUAGE SQL IMMUTABLE;

SELECT to_json(hstore(array[array['a', 'b'], array['c', 'd']])) two_dimensional_array_to_hstore_to_json,
       to_json(array[array['a', 'b'], array['c', 'd']]) two_dimensional_array_to_to_json,
       to_json(hstore(array['a', 'b'], array['c', 'd'])) multi_array_to_hstore_to_json,
       to_json(hstore(array['a', 'b', 'c', 'd'])) array_to_hstore_to_json,
       to_json(array['a', 'b', 'c', 'd']) array_to_to_json;

以上是关于sql 一些函数将数组/ hstore转换为json :)的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Postgres Hstore 数据类型转换为雪花对象或变体

hstore或json数据的Django数字比较?

javascript的JSON对象

可以将 executeQuery(String sql) 函数的返回值类型转换为字符串数组吗?

sql数组转换为字符串

Postgresql:如何在不使用中间 hstore 的情况下将键值表转换为 json