sql >> Database >  >> RDS >> Sqlserver

Dynamische WHERE-component bouwen in opgeslagen procedure

Probeer in plaats daarvan dit:

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

Als een van de parameters @what , @where wordt verzonden naar de opgeslagen procedure met NULL waarde, dan wordt de voorwaarde genegeerd. Je kunt 0 gebruiken in plaats van null als testwaarde, dan zal het zoiets zijn als @what = 0 OR ...



  1. .sql-bestand geeft de kolomkoppen in csv-bestand niet terug

  2. Waarom krijg ik #### in de NUMBER kolom na formaat?

  3. Heeft T-SQL een aggregatiefunctie om strings samen te voegen?

  4. Krijg niet-vastgelegde gegevens in MySQL