Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment interrogez-vous une colonne int pour n'importe quelle valeur ?

Je suppose que vous voulez un comportement dynamique sur votre WHERE clause, sans avoir à construire dynamiquement votre WHERE clause.

Avec un seul paramètre, vous pouvez utiliser ISNULL (ou COALESCE ) comme ceci :

 SELECT * FROM Table WHERE ID = ISNULL(@id, ID)

qui autorise un NULL paramètre pour correspondre à tous. Certains préfèrent le plus long mais le plus explicite :

 SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)