Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Creazione della clausola WHERE dinamica nella procedura memorizzata

Prova invece questo:

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)
...

Se uno qualsiasi dei parametri @what , @where viene inviato alla stored procedure con NULL valore, la condizione verrà ignorata. Puoi usare 0 invece di null come valore di test, quindi sarà qualcosa come @what = 0 OR ...