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