简体   繁体   中英

How to retrieve data from postgresql jsonb column

I have a data like this store in postgres jsonb column - {"purpose_of_name":"official","surname":"Donald","first_name":"Duck"} . json element can be changed like more or less . How can I retrieve data something like this

purpose_of_name| surname| first_name
----------+----------+--------------------
   official|       Donald |  Duck 

And if there is more element

{"purpose_of_name":"official","surname":"Donald","first_name":"Duck", "last_name" :"Treat"}
purpose_of_name| surname| first_name| last_name
----------+----------+--------------------
   official|       Donald |  Duck | Treat

Assuming table name is 'users' and jsonb column is 'settings', the query can be written as:

SELECT
  settings->>'purpose_of_name' AS purpose_of_name
  settings->>'surname' AS surname
  settings->>'first_name' AS first_name
  settings->>'last_name' AS last_name
FROM users;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM