Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie fragen Sie eine int-Spalte nach einem beliebigen Wert ab?

Ich nehme an, Sie möchten ein dynamisches Verhalten auf Ihrem WHERE -Klausel, ohne dynamisch erstellen zu müssen Ihr WHERE Klausel.

Mit einem einzigen Parameter können Sie ISNULL verwenden (oder COALESCE ) so:

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

was einen NULL erlaubt Parameter, um alle abzugleichen. Einige bevorzugen das längere, aber deutlichere:

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