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

Construction d'une clause WHERE dynamique dans une procédure stockée

Essayez ceci à la place :

WHERE 1 = 1
AND (@what     IS NULL OR [companies_SimpleList].[Description] Like @What )
AND (@keywords IS NULL OR companies_SimpleList.Keywords        Like @Keywords)
AND (@where    IS NULL OR companies_SimpleList.FullAdress      Like @Where)
...

Si l'un des paramètres @what , @where est envoyé à la procédure stockée avec NULL valeur, la condition sera ignorée. Vous pouvez utiliser 0 au lieu de null comme valeur de test, ce sera quelque chose comme @what = 0 OR ...