sql >> Databasteknik >  >> RDS >> Sqlserver

Bygger dynamisk WHERE-sats i lagrad procedur

Prova detta istället:

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

Om någon av parametrarna @what , @where skickas till den lagrade proceduren med NULL värde så kommer villkoret att ignoreras. Du kan använda 0 istället för null som ett testvärde, då blir det något i stil med @what = 0 OR ...



  1. Hur använder man JOIN i Yii2 Active Record för relationsmodell?

  2. Hur lägger man till vikter i en MySQL-tabell och väljer slumpmässiga värden enligt dessa?

  3. scatter plot i jfreechart från databasen

  4. Mysql + räkna alla ord i en kolumn