/ / Establece automáticamente = e IS en el módulo Python psycopg2 sql - postgresql, python-3.x, psycopg2

Establecer automáticamente = e IS en Python psycopg2 sql module - postgresql, python-3.x, psycopg2

Tengo este fragmento en Python usando psycopg2:

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

Mogrificar el comando proporciona "= NULL", que no proporciona resultados cuando se incluye en la consulta SQL, ya que la consulta necesita "IS NULL" para funcionar.

(Si el spam no es Ninguno, pero, por ejemplo, "eggs", "=" eggs "" funcionará bien para la consulta).

¿Hay alguna manera de cambiar automáticamente entre "IS" y "=" en el comando mogrificado, dependiendo de si el siguiente argumento es Ninguno o no?

¡Gracias!

Respuestas

1 para la respuesta № 1

No, pero puedes usar is distinct from en lugar de = para incluir nulos en la comparación.

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