Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL:клауза IF в клаузата WHERE

Използвайте израз CASE
UPDATE: Предишният синтаксис (както беше посочено от няколко души) не работи. Можете да използвате CASE, както следва:

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

Или можете да използвате оператор IF като @N. Дж. Рийд посочва.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да посочите местоположението на файловете с данни и регистрационните файлове при създаване на база данни в SQL Server

  2. Не може да се разреши конфликтът на съпоставяне между SQL_Latin1_General_CP1_CI_AS и Latin1_General_CI_AS в операция равна на

  3. Преобразуването не бе успешно при преобразуване на дата и/или час от символен низ при вмъкване на дата и час

  4. 4 начина да получите списък с графици в SQL Server Agent (T-SQL)

  5. Изпълнение на COUNT SQL функция