我在postgres中使用plsql函数来循环访问大型数据集,并使用每条记录中的数据生成一个字符串。出于某种原因,我越来越不需要额外的双引号是这样的:postgres/plsql生成的字符串会创建额外的双引号
'{ ""id"": ""1""}'
,它应该像
'{ "id": "1"}'
而且,我注意到不必要的括号在字符串的开头和结尾。我正在使用的代码如下:
CREATE FUNCTION gen_blocks()
RETURNS TEXT AS $$ DECLARE
output TEXT := '';
j record; BEGIN
FOR j IN SELECT '{ "id": "' || id ||'"},' LOOP
output := output || j;
END LOOP;
return output; END; $$ LANGUAGE plpgsql;
任何想法?
如果你在9.2上,你可以使用'row_to_json()':http://www.postgresql.org/docs/9.2/static/functions-json.html –
谢谢,这很好,但是我知道,对9.1而言,暂时不能更改版本。 – maximus