Il 19/03/2022 17:35 Christophe Pettus ha scritto:
>> On Mar 19, 2022, at 05:10, Paolo De Stefani <paolo@paolodestefani.it>
>> wrote:
>> Switching to psycopg 3 i have to consider many more differences than i
>> expected
>
> There have been some changes in the way psycopg2 does parameter
> substitution, although that one is an interesting case! You might
> consider using IS DISTINCT FROM as Daniele suggested, or just =,
> depending on how you want nulls handled.
thanks to all for the suggestions i thimk i will use the '=' operator
what do you mean with 'depending on how you want nulls handled' ???
test4=# create table test (a text, b boolean);
CREATE TABLE
test4=# insert into test values ('aaa', true), ('bbb', false), ('ccc',
null);
INSERT 0 3
test4=# select * from test;
a | b
-----+---
aaa | t
bbb | f
ccc |
(3 rows)
test4=# select * from test where b = true;
a | b
-----+---
aaa | t
(1 row)
test4=# select * from test where b is true;
a | b
-----+---
aaa | t
(1 row)
test4=# select * from test where b = null;
a | b
---+---
(0 rows)
test4=# select * from test where b is null;
a | b
-----+---
ccc |
(1 row)
I will use '= True' or '= False' in psycopg cur.execute with parameter
substitution and 'IS NULL' without parameter when i need to check the
null value
--
Paolo De Stefani