Postgresql json like query Postgresql json like query postgresql postgresql

Postgresql json like query


If the data column is text type, then use ->> on cast:

select * from module_data where data::json->>'title' like '%Board%'

If it's already json:

select * from module_data where data->>'title' like '%Board%'


I found the following is more straight-forward and easier for jsonb type of columns:

select * from table_namewhere column_name::text like '%Something%'

Found a good article on more examples and implementations:https://www.compose.com/articles/faster-operations-with-the-jsonb-data-type-in-postgresql/

Hope it helps!


One other option which may be sufficient for other people who've found this page is to just cast the column to text type. Eg

select * from module_data where data::text like '%Board%'

Note though, this will search over the entire json and should only be used if you can guarantee the other fields won't be a problem.