Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL :clause IF dans la clause WHERE

Utilisez une instruction CASE
MISE À JOUR : La syntaxe précédente (comme souligné par quelques personnes) ne fonctionne pas. Vous pouvez utiliser CASE comme suit :

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

Ou vous pouvez utiliser une instruction IF telle que @N. souligne J. Reed.