sql >> Databáze >  >> RDS >> Sqlserver

SQL:klauzule IF v klauzuli WHERE

Použijte příkaz CASE
UPDATE: Předchozí syntaxe (jak poukázalo několik lidí) nefunguje. CASE můžete použít následovně:

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

Nebo můžete použít příkaz IF jako @N. J. Reed zdůrazňuje.



  1. Co je jedinečné omezení v SQL Server - SQL Server / TSQL výukový program, část 95

  2. Statistika objektů databáze SQL Server

  3. Skryté funkce v Oracle

  4. Podobnosti a rozdíly mezi funkcemi RANK, DENSE_RANK a ROW_NUMBER