Utiliser des signes de comparaison dans une déclaration de cas SQL

Je suis à la recherche d'un moyen de construire des cas énoncés dans une requête sql de type select à l'aide de moins et de plus de signes. Par exemple, je veux choisir un classement fondé sur une variable:

DECLARE @a INT
SET @a = 0

SELECT CASE 
         WHEN @a < 3 THEN 0
         WHEN @a = 3 THEN 1
         WHEN @a > 3 THEN 2
       END

J'aimerais écrire comme:

DECLARE @a INT
SET @a = 0

SELECT CASE @a
         WHEN < 3 THEN 0
         WHEN 3 THEN 1
         WHEN > 3 THEN 2
       END

...mais SQL ne me laisse pas utiliser le < et > les signes de cette façon. Est-il possible que je peux faire c'est de SQL 2005, ou ai-je besoin pour utiliser le code comme dans le premier.

La raison pour seulement vouloir le code une fois que c'est parce qu'il rendrait le code beaucoup plus lisible et maintenable et aussi parce que je ne suis pas sûr si SQL server devrez exécuter le calcul pour chaque CAS.

Je suis à la recherche d'un VB.NET cas de déclaration equivelent:

Select Case i
    Case Is < 100
        p = 1
    Case Is >= 100
        p = 2
End Select

Peut-être qu'il n'est pas possible en SQL et c'est ok, je veux juste confirmer que.

source d'informationauteur Greg