Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL:cláusula IF dentro da cláusula WHERE


Use uma instrução CASE
UPDATE: A sintaxe anterior (como apontada por algumas pessoas) não funciona. Você pode usar CASE da seguinte forma:
WHERE OrderNumber LIKE
  CASE WHEN IsNumeric(@OrderNumber) = 1 THEN 
    @OrderNumber 
  ELSE
    '%' + @OrderNumber
  END

Ou você pode usar uma instrução IF como @N. J. Reed aponta.