Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать через IF или CASE 
:(
    Опции темы
Abbath1349
Дата 19.5.2011, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Поскажите как можно через Case или IF установить значение переменной. Нужно,чтобы если перемнная=NULL то ей присваивается некое значение
PM MAIL   Вверх
Akina
Дата 19.5.2011, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Какая переменная? Где? в клиентской программе на Дельфи? В среде пользователя на сервере?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Abbath1349
Дата 19.5.2011, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Код

IF(@Min_Price IS NULL AND @Max_price IS NOT NULL)
SET @Min_Price=@MINIMAL_PRICE
ELSE IF(@Max_price IS NULL AND @Min_Price IS NOT NULL)
SET @Max_price=@MAXIMAL_PRICE
ELSE IF(@Min_Price IS NULL AND @Max_price IS NULL)
BEGIN
SET @Min_Price=@MINIMAL_PRICE 
SET @Max_price=@MAXIMAL_PRICE
END

как это только через CASE
PM MAIL   Вверх
Akina
Дата 19.5.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Код

IF @Min_Price IS NULL
  SET @Min_Price=@MINIMAL_PRICE
IF @Max_price IS NULL
  SET @Max_price=@MAXIMAL_PRICE
cделает ровно то же самое. 
И зачем тут непременно CASE?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Abbath1349
Дата 19.5.2011, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Ну читал,что CASE быстрее врод как работает) Да и так интересно как это через case можно)
PM MAIL   Вверх
Akina
Дата 19.5.2011, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(Abbath1349 @  19.5.2011,  17:39 Найти цитируемый пост)
читал,что CASE быстрее врод как работает

В MSDN? если да - ссылку в студию. Если нет - забудь.

Цитата(Abbath1349 @  19.5.2011,  17:39 Найти цитируемый пост)
интересно как это через case можно

CASE обрабатывает варианты значений одного выражения. У тебя же - два несвязанных выражения. Посему на вопрос "как" можно ответить только одно - "через задницу".


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
pengrad
Дата 1.6.2011, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pengrad



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.2.2009
Где: Москва

Репутация: нет
Всего: нет



Код

select @Min_Price = case when @Min_Price is null then @MINIMAL_PRICE else @Min_Price end,
    @Max_Price = case when @Max_Price is null then @MAXIMAL_PRICE else @Max_Price end


или 

Код

select @Min_Price = isnull(@Min_Price,@MINIMAL_PRICE),
    @Max_Price = isnull(@Max_Price,@MAXIMAL_PRICE)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.2156 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.