Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie verwende ich eine Case-Anweisung in einer Skalarwertfunktion in SQL?

Es gibt zwei Arten von CASE-Ausdrücken :einfach und gesucht. Sie müssen sich für das eine oder das andere entscheiden - Sie können nicht beide Arten in einem Ausdruck mischen.

Versuchen Sie Folgendes:

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

Außerdem müssen Sie das Ergebnis etwas zuweisen, wie andere bereits darauf hingewiesen haben.