sql >> Database >  >> RDS >> Sqlserver

SQL:IF-clausule binnen WHERE-clausule

Gebruik een CASE-instructie
UPDATE: De vorige syntaxis (zoals opgemerkt door een paar mensen) werkt niet. U kunt CASE als volgt gebruiken:

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

Of u kunt een IF-statement gebruiken, zoals @N. J. Reed wijst erop.



  1. SQL Server-systeemdatabases - Systeemdatabases herstellen

  2. SQL Server Express-back-updatabase | Hoe u SQL Express-back-up automatiseert en opschoont

  3. juiste syntaxis om te gebruiken in de buurt van '?'

  4. Onbekende kolom in 'veldlijst'-fout op MySQL Update-query