Postgresql批量处理json数据

版权声明:转载请留言告知,注明出处 https://blog.csdn.net/qq_36213352/article/details/86772862
  • 从json数据中导出所需数据(数据格式参考上面一篇)
do
  $$
    declare
      i integer;
      a integer;
      b uuid;
    begin
      i := 0;
      b = 'e9b26ec3-bc8d-4656-ac7f-7db79141732b';
      a = (SELECT JSON_ARRAY_LENGTH(A.JSON::json -> 'features') FROM tb_json A WHERE A.uid = b);
      FOR i in 0..a - 1
        loop
          INSERT INTO tb_village(cjqydm,name, border)
          values ((SELECT ((A.json::json -> 'features' -> i)::json -> 'properties')::json ->> 'CJQYDM'
                   FROM tb_json A
                   WHERE A.uid = b),(SELECT ((A.json::json -> 'features' -> i)::json -> 'properties')::json ->> 'CJQYMC'
                                     FROM tb_json A
                                     WHERE A.uid = b), (SELECT (A.json -> 'features' -> i) FROM tb_json A WHERE A.uid = b));
        end loop;
    end;
    $$;

->获取的是带有双引号的数据

->>获取的是不带双引号的数据

猜你喜欢

转载自blog.csdn.net/qq_36213352/article/details/86772862