Comportamiento de los operadores booleanos
Quiero crear un filtro para MS SQL Server como el siguiente:
sql
WHERE ((esto NO es NULO) o (eso NO es NULO))
He intentado con las respuestas dadas en una pregunta similar:
filter((TAB1.c.this.isnot(None)) | (TAB2.c.that.isnot(None)))
filter(or<em>(TAB1.c.PERSONNE</em>ID.isnot(None), (TAB2.c.PERSONNE_ID.isnot(None)))
pero con esas opciones solo puedo obtener:
sql
WHERE (esto NO es NULO o eso NO es NULO)
y en T-SQL este es un filtro diferente al que quiero obtener.
¿Algún consejo?
davy.ai
Para obtener el filtro deseado en T-SQL:
puede usar la función
text
de SQLAlchemy para escribir directamente la expresión SQL:Esto generará el filtro deseado en T-SQL. Sin embargo, tenga en cuenta que el uso de la función
text
puede hacer que su código sea más susceptible a ataques de inyección de SQL, por lo que asegúrese de sanear correctamente cualquier entrada de usuario que incluya en la expresión SQL.