CftClub.ru
Клуб специалистов ЦФТ-Банк

Структура case when....end=

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
Beronika
Участник


Вступление в Клуб: 20.01.2021
СообщениеВс Фев 21, 2021 18:39   Структура case when....end= Ответить с цитатой
Полезность: Нет оценки
Часто встречаю данную структуру, но до конца так и не поняла, что она значит.
Подскажите плиз

Case when...then 0 else 1 end = 1

Что означает код end=1 ?
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПн Фев 22, 2021 10:10   Re: Структура case when....end= Ответить с цитатой
Полезность: 1
Beronika пишет:
Часто встречаю данную структуру, но до конца так и не поняла, что она значит.
Подскажите плиз

Case when...then 0 else 1 end = 1

Что означает код end=1 ?


Конструкцию выше можно еще так написать:

Код:
1 = сase when...then 0 else 1 end


Так будет понятней?
Beronika
Участник


Вступление в Клуб: 20.01.2021
СообщениеВт Фев 23, 2021 23:21    Ответить с цитатой
Полезность: Нет оценки
Спасибо большое!

Правильно ли я понимаю, что этот код - это логическое выражение?

И после обработки 'case when' данный код превратится либо в
1=0 (т.е. false)
Либо в
1=1 (т.е. true)
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеСр Фев 24, 2021 05:00    Ответить с цитатой
Полезность: 2
Цитата:
Спасибо большое!

Правильно ли я понимаю, что этот код - это логическое выражение?

И после обработки 'case when' данный код превратится либо в
1=0 (т.е. false)
Либо в
1=1 (т.е. true)


да, верно.

один из вариантов использования case, аналогично decode:
case проверяет условие на совпадение и подставляет один из вариантов результата в выражение:

case when условие 1 then результат1
when условие2 then результат2
else результат3
end

однако в условии where нельзя просто оперировать каким-то числовым или строковым выражением, его нужно с чем-либо сравнить:
[выражение слева] = [выражение справа] или
[выражение слева] like [выражение справа] или как-то иначе.

отсюда и ваш вариант
case ... end = 1 - здесь case используется для того, чтобы проверить дополнительные условия в виде условий when и подставить для того, чтобы запись была включена в результаты запроса 1 и чтобы исключить - 0.
Beronika
Участник


Вступление в Клуб: 20.01.2021
СообщениеСр Фев 24, 2021 05:02    Ответить с цитатой
Полезность: Нет оценки
Ещё раз большое спасибо!!

Теперь все стало супер понятно) А то в других языках такое не встречалось, и меня это сбило с толку))
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru