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

Come si interroga una colonna int per qualsiasi valore?

Immagino che tu voglia un comportamento dinamico sul tuo WHERE clausola, senza dover costruire dinamicamente il tuo WHERE clausola.

Con un singolo parametro puoi usare ISNULL (o COALESCE ) in questo modo:

 SELECT * FROM Table WHERE ID = ISNULL(@id, ID)

che consente un NULL parametro per abbinare tutti. Alcuni preferiscono il più lungo ma più esplicito:

 SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)