Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como você consulta uma coluna int para qualquer valor?


Suponho que você queira algum comportamento dinâmico em seu WHERE cláusula, sem ter que construir dinamicamente seu WHERE cláusula.

Com um único parâmetro, você pode usar ISNULL (ou COALESCE ) assim:
 SELECT * FROM Table WHERE ID = ISNULL(@id, ID)

que permite um NULL parâmetro para corresponder a todos. Alguns preferem o mais longo, mas mais explícito:
 SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)