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 № 1Nie, 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