Viliam Ďurina schrieb am 23.03.2022 um 17:56:
Hello all,

I'm experimenting with JSON-path functions, and stumbled upon this query:

   SELECT jsonb_path_query('[1,2,3]', '$[*]?(@ == 4)')

It returns 0 rows. I expected it to return one row with `null` value.
Isn't it the case that `SELECT <some expression>` should always
return 1 row?

jsonb_path_query is a set returning function, so it's actually more like this:

    SELECT *
    FROM jsonb_path_query('[1,2,3]', '$[*]?(@ == 4)')

Then it's obvious why no row is returned.

That's one of the reasons I never use set-returning functions in the SELECT 
list.



Reply via email to