Я ищу способ создания операторов case в запросе select sql, использующем меньше и больше знаков. Например, я хочу выбрать ранжирование на основе переменной:
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 equivelent:
Select Case i
Case Is < 100
p = 1
Case Is >= 100
p = 2
End Select
Возможно, это невозможно в SQL, и это нормально, я просто хочу подтвердить это.