I have a column inside a postgresql database table of type jsonb
called meta
. This is the data i have inside one of the rows in the meta column of the table.
{
budget: {
data: "2018-12-15",
target: 47.5,
spend: 12.3
}
}
I am trying to write a query that return all rows where
meta.budget.spend < meta.budget.target
or
meta.budget.date != "2018-12-15"
I tried
SELECT ... WHERE (("table"."meta"#>>'{budget,spend}') < "table"."meta"#>>'{budget,target}'
OR ("table"."meta"#>>'{budget,date}') != '2018-12-15')
and i got 0 row as a result. I'm I doing the query right? If not, how do i fix it.
You could use:
db<>fiddle demo