Query con condizione AND solo se un parametro non � NULL

venerdì 10 agosto 2007 - 21.19

robertoserpieri Profilo | Newbie

Ciao
devo scrivere una qwery in T-sql in cui una condidione AND deve essere rispettata solo se un parametro inserito dall'utente non � NULL. Qualcuno sa se � possibile fare una cosa del genere? Grazie

micto27 Profilo | Senior Member

>Ciao
>devo scrivere una qwery in T-sql in cui una condidione AND deve
>essere rispettata solo se un parametro inserito dall'utente non
>� NULL. Qualcuno sa se � possibile fare una cosa del genere?
>Grazie

Se la colonna sulla quale mettere la condizione si chiamasse
CATEGORIA e la variabile fosse @categ potresti provare così:

SELECT ......
....
WHERE ......
AND CATEGORIA = COALESCE(@categ, CATEGORIA)

se la variabile @categ è diversa da NULL la colonna CATEGORIA viene confrontata con il valore della variabile,
se invece @categ e' NULL allora la colonna CATEGORIA viene confrontata con se stessa e quindi
la condizione è sempre rispettata.

Ciao, Michele

robertoserpieri Profilo | Newbie


grazie mille, era qualche anno che cercavo di risolvere questo problema con sql. In precedenza, con ADO, usavo una stringa sql che variava in funzione del numero di parametri immessi ma con ADO.NET non posso pi� ricorrere a questo trucco.
Ciao e grazie ancora
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5