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

SQL:clausola IF all'interno della clausola WHERE

Utilizza un'istruzione CASE
UPDATE: La sintassi precedente (come sottolineato da alcune persone) non funziona. Puoi utilizzare CASE come segue:

WHERE OrderNumber LIKE
  CASE WHEN IsNumeric(@OrderNumber) = 1 THEN 
    @OrderNumber 
  ELSE
    '%' + @OrderNumber
  END

Oppure puoi usare un'istruzione IF come @N. fa notare J. Reed.