Simple table in PostgreSQL 12.3
create table aaa(id integer, data json);
In data
column stores JSON with the following form:
{
"foo": 1,
"persons": [
{
"name": "2fdsdsd",
"test": {
"id": "123",
"age": 32
}
}
],
"some_prop": "123"
}
I need to find all records from aaa
where test.id = '123'
or where test = null
.
If that's
jsonb
, you can use@?
operator with a jsonpath: demoWhich means roughly
persons
keytest
keytest
, see if value for keyid
is'123'
or if the wholetest
isnull
.If it's a plain
json
, you can cast it: