Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak używać instrukcji case w funkcji skalarnej w SQL?

Istnieją dwa typy wyrażenie CASE :proste i przeszukiwane. Musisz wybrać jeden lub drugi - nie możesz użyć kombinacji obu typów w jednym wyrażeniu.

Spróbuj tego:

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

Ponadto musisz przypisać wynik do czegoś, jak już zauważyli inni.



  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:usuń ograniczenie FK, które nie jest kluczem obcym

  2. Zmień nazwę kolumny podczas korzystania z PIVOT SQL Server 2008

  3. Połączenie sql czeka 15 sekund pomimo limitu czasu 3 sekund w ciągu połączenia

  4. Uzyskaj identyfikator obiektu z jego nazwy w SQL Server:OBJECT_ID()

  5. Wybierz 10 najlepszych rekordów dla każdej kategorii