I am running the following sql query in my web app:
SELECT EXISTS (
SELECT id
FROM user
WHERE membership=1244)
i was expecting true (boolean data) as the result but I'm getting 't' or 'f' for false. How do I get it to return to my lua code a standard boolean?
I found the following post:
Reading boolean correctly from Postgres by PHP
And so I tried to change my code to something like this:
SELECT EXISTS ::int (
SELECT id
FROM user
WHERE membership=1244)
or
SELECT ::INT (SELECT EXISTS (
SELECT id
FROM user
WHERE membership=1244))
But I'm getting a syntax error.
Can you tell the best way to handle this? Should I be casting the resulting 't' to a boolean somehow? or is there a way to tell postgresql to return true / false instead of 't'/'f'?
Thanks.
You are so close
SELECT EXISTS (SELECT id FROM user WHERE membership=1244)::int
Your first query do indeed return a boolean. A t is shown as the returned value of the query
select exists (select 1);
exists
--------
t
But if you check its type it is a boolean:
select pg_typeof(exists (select 1));
pg_typeof
-----------
boolean
You will have to check with the lua's postgresql driver manual how to properly handle it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With