Quiero poder pasar una lista de parámetros e ignorar los que son NULL. Para que la consulta esté en efecto pretendiendo que el filtro no está allí e ignorándolo.Ignorando un parámetro NULL en T-SQL
lo hacía así:
(@thing IS NULL or [email protected])
¿Es esto así, y si es así, habría que realizar mal? Parece ser mucho más lento que construir el SQL por separado.
¿Cuál es la forma óptima de hacer esto?
¡CORREGIDO! Vea la respuesta de Marc Gravell. En resumen, utilizar IS NULL muchas veces es un grande golpe de rendimiento.
Lo siento, como pregunta noob, ¿a qué te refieres con firmar el sproc? Sin duda, necesito un seleccionar de todos modos para definir la tabla? – Damien
también cómo manejo el hecho de que puede incluir un extra y – Damien
La tabla, etc. sería parte de/* core query */bit (que debe completar). Si aún no tiene un 'WHERE', puede agregar un dummy 'WHERE 1 = 1', o tendrá que usar algo como 'STUFF (...)' (u otra manipulación de cadenas) para cambiar el primer Y a DONDE –