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

Как да използвам case оператор във функция със скаларни стойности в SQL?

Има два типа CASE израз :просто и търсено. Трябва да изберете едното или другото - не можете да използвате смес от двата вида в един израз.

Опитайте това:

SELECT CASE
    WHEN @Period = 1 THEN 1
    WHEN @Period > 1 AND @Period <= 7 THEN 2
    WHEN @Period > 7 AND @Period <= 30 then 3
    -- etc...
    ELSE 0
END

Освен това трябва да присвоите резултата на нещо, както други вече посочиха.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свързване на таблици с редове

  2. заменете NULL с празна стойност или нула в sql сървъра

  3. Проблем с изходния параметър на SQL Server

  4. По-добре ли е да използвате уникален идентификатор (GUID) или bigint за колона за идентичност?

  5. Кои версии на SQL Server поддържа LINQ to SQL?