/ / Automatically set = i IS w Python psycopg2 sql module - postgresql, python-3.x, psycopg2

Automatycznie ustaw = i IS w Python psycopg2 sql module - postgresql, python-3.x, psycopg2

Mam ten fragment w Pythonie używając psycopg2:

spam = None
command = sql.SQL("= {}").format(sql.Literal(spam))

Mogrifying polecenia daje "= NULL", który nie daje wyników, gdy zawarte w kwerendzie SQL, ponieważ kwerenda potrzebuje "IS NULL" do pracy.

(Jeśli spam nie jest Brak, ale na przykład "jaja", "=" jaja "" będzie działać poprawnie dla zapytania.)

Czy istnieje sposób automatycznego przełączania między "IS" i "=" w komendzie z przypuszczeniem, w zależności od tego, czy następujący argument to Brak, czy nie Brak?

Dzięki!

Odpowiedzi:

1 dla odpowiedzi № 1

Nie, ale możesz użyć is distinct from zamiast = uwzględnić wartości zerowe w porównaniu.

https://www.postgresql.org/docs/current/static/functions-comparison.html