T-SQL: Parámetros opcionales en procedimientos almacenados usando ISNULL

SQL Server
Supongamos que tenemos que buscar en la una Tabla teniendo parámetros opcionales. Por ejemplo, tenemos una aplicación con una búsqueda avanzada donde el usuario no tiene que llenar todos los criterios de búsqueda. Esto lo podemos solucionar con un pequeño truco; usando la función ISNULL.

CREATE PROC Buscar
(    
     @param1 INT = NULL,
     @param2 INT = NULL
)
AS
BEGIN
    SELECT columna1     
    FROM tabla1     
    WHERE columna1 = ISNULL(@param1, columna1)
      AND columna2 = ISNULL(@param2, columna2)
END

Si el primer parámetro en la función ISNULL es NULO, retorna el segundo parámetro, de lo contrario devuelve el valor del parámetro como tal.

Espero que os sirva de utilidad.

Si quieres más trucos de este tipo te invito a echarle un vistazo a este libro de SQL Server 2014 en Español

Comprar en AmazonSQL Server 2014 | Amazon Kindle Comprar en Google PlaySQL Server 2014 | Google Play Books

1 comentario en «T-SQL: Parámetros opcionales en procedimientos almacenados usando ISNULL»

Los comentarios están cerrados.