从红移表获取JSON数据
我想从红移表中以json字符串的形式检索SQL中的数据。有什么功能可以做到这一点吗从红移表获取JSON数据,json,amazon-redshift,Json,Amazon Redshift,我想从红移表中以json字符串的形式检索SQL中的数据。有什么功能可以做到这一点吗 Postgres具有row_to_json函数,可在SQL语句中使用该函数以json的形式获取数据。红移中是否有类似的函数?根据您的需要,您可以使用以下函数之一: JSON\u EXTRACT\u PATH\u TEXT非常有用 我仍在试图弄清楚如何不必列出没有复合类型或数组的每一项,但这应该可以帮助您生成json,而无需执行字符串操作 CREATE OR REPLACE FUNCTION test_funct
Postgres具有row_to_json函数,可在SQL语句中使用该函数以json的形式获取数据。红移中是否有类似的函数?根据您的需要,您可以使用以下函数之一:
JSON\u EXTRACT\u PATH\u TEXT
非常有用
我仍在试图弄清楚如何不必列出没有复合类型或数组的每一项,但这应该可以帮助您生成json,而无需执行字符串操作
CREATE OR REPLACE FUNCTION test_function
(userid int, firstname varchar, lastname varchar, email varchar)
RETURNS varchar(max) immutable as $$
import json
o = {
"userid": userid,
"firstname": firstname,
"lastname": lastname,
"email": email
}
return json.dumps(o)
$$ LANGUAGE plpythonu;
这就是我们拥有Json文本的时候。我正在寻找从db行数据返回json,这与本文描述的内容一致。我想你必须手工制作JSON。如果您要通过应用程序与Redshift通信,那么将行转换为符合您需要的JSON对象应该很简单。我不认为以“我怀疑…”开头的注释可以最终回答这个问题
CREATE OR REPLACE FUNCTION test_function
(userid int, firstname varchar, lastname varchar, email varchar)
RETURNS varchar(max) immutable as $$
import json
o = {
"userid": userid,
"firstname": firstname,
"lastname": lastname,
"email": email
}
return json.dumps(o)
$$ LANGUAGE plpythonu;