PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Търсене на jsonb масив в PostgreSQL

Можете да използвате exists :

SELECT * FROM 
    (SELECT 
        '[{"id":1,"msg":"testing"},{"id":2,"msg":"tested"},{"id":3,"msg":"nothing"}]'::jsonb as data) 
    as jsonbexample 
WHERE 
    EXISTS (SELECT 1 FROM jsonb_array_elements(data) as j(data) WHERE (data#>> '{msg}') LIKE '%est%');

За да направите заявка в таблицата, както е споменато в коментара по-долу:

SELECT * FROM atable 
WHERE EXISTS (SELECT 1 FROM jsonb_array_elements(columnx) as j(data) WHERE (data#>> '{msg}') LIKE '%est%');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете IPAddr екземпляр от неговото json представяне

  2. Как е възможно SQL заявката и ActiveRecord.find_by_sql да връщат различни резултати?

  3. rails - postgres грешка:Причина:Несъвместима версия на библиотеката:libpq.5.dylib изисква версия 1.0.0 или по-нова,

  4. Oracle към PostgreSQL:Причини за мигриране

  5. ГРЕШКА:колона за релация не съществува PostgreSQL, Не може да се изпълни заявка за вмъкване