Я ищу способ построить операторы case в запросе sql select с использованием знаков «меньше» и «больше». Например, я хочу выбрать рейтинг на основе переменной:
DECLARE @a INT
SET @a = 0
SELECT CASE
WHEN @a < 3 THEN 0
WHEN @a = 3 THEN 1
WHEN @a > 3 THEN 2
END
Я хотел бы записать его как:
DECLARE @a INT
SET @a = 0
SELECT CASE @a
WHEN < 3 THEN 0
WHEN 3 THEN 1
WHEN > 3 THEN 2
END
... но SQL не позволяет мне использовать знаки <и> таким образом. Есть ли способ, которым я могу это сделать, - это SQL 2005, или мне нужно использовать код, как в первом.
Причина, по которой код там нужен только один раз, заключается в том, что это сделало бы код намного более читаемым / поддерживаемым, а также потому, что я не уверен, придется ли SQL-серверу выполнять вычисления для каждого оператора CASE.
Я ищу эквивалентный оператор case VB.NET:
Select Case i
Case Is < 100
p = 1
Case Is >= 100
p = 2
End Select
Возможно, это невозможно в SQL, и это нормально, я просто хочу подтвердить это.