Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CASE в предложении WHERE и операторы больше/меньше  [new]
shefus
Member

Откуда:
Сообщений: 116
Подскажите как реализовать следующую логику в запросе в условии отбора:

WHERE  " если @P=1 то Таб.Поле>@T иначе Таб.Поле<@KF


Пробовал с CASE типа:
Where  (Case when @P=1 then Таб.Поле<@KF else Таб.Поле>@KF end )

и так:
Where Таб.Поле (Case when @P=1 then <@KF else >@KF end )

Ругается, не хочет.

С IF тоже не получилось :(
30 авг 13, 09:52    [14774304]     Ответить | Цитировать Сообщить модератору
 Re: CASE в предложении WHERE и операторы больше/меньше  [new]
shefus
Member

Откуда:
Сообщений: 116
Упс ... опечатка. Вот так

[src]WHERE " если @P=1 то Таб.Поле>@KF иначе Таб.Поле<@KF

/SRC]
30 авг 13, 09:54    [14774319]     Ответить | Цитировать Сообщить модератору
 Re: CASE в предложении WHERE и операторы больше/меньше  [new]
Glory
Member

Откуда:
Сообщений: 104751
shefus
Ругается, не хочет.

Потому что функция должны возвращать результат документированного типа. А не результат выражения

И ваше если @P=1 то Таб.Поле>@T иначе Таб.Поле<@KF
преписывается через обычные AND OR
30 авг 13, 09:55    [14774327]     Ответить | Цитировать Сообщить модератору
 Re: CASE в предложении WHERE и операторы больше/меньше  [new]
shefus
Member

Откуда:
Сообщений: 116
Glory
преписывается через обычные AND OR


:) Точно. Зациклился :) Ща сделаю. Спасибо.
30 авг 13, 10:06    [14774409]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить