我在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