PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

chuyển đổi giá trị cột jsonb thành nhiều cột trong PostgreSQL

Nó đơn giản trong 9.4 (được sử dụng hàm tham gia LATERAL và jsonb):

    postgres=# SELECT * 
                  FROM sample, jsonb_to_record(jsonb, true) AS x(a text, b text);
     id |            jsonb             |    date     |  a   |   b    
    ----+------------------------------+-------------+------+--------
      1 | {"a": "a", "b": "b"}         | 2014-01-06  | a    | b
      2 | {"a": "a", "b": "b"}         | 2014-01-06  | a    | b
      3 | {"a": "Ahoj", "b": "Nazdar"} | 2014-01-06  | Ahoj | Nazdar
    (3 rows)

kết quả chính xác:

postgres=# SELECT id, a, b, date 
               FROM sample, jsonb_to_record(jsonb, true) AS x(a text, b text);
 id |  a   |   b    |    date    
----+------+--------+------------
  1 | a    | b      | 2014-01-06
  2 | a    | b      | 2014-01-06
  3 | Ahoj | Nazdar | 2014-01-06
(3 rows)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql:Không thể truy cập vào tệp «$ libdir / postgis-2.1» không có tệp hoặc thư mục như vậy

  2. Truy vấn phù hợp với thẻ chuỗi

  3. SQLAlchemy nhiều khóa ngoại trong một lớp được ánh xạ tới cùng một khóa chính

  4. Cách truy vấn UUID cho postgres

  5. Thuật toán tìm kiếm đồ thị đơn giản trong SQL (PostgreSQL)