Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Простые выражения case

Gt; SUM(a.avail_balance) tot_deposits _> FROM account a | Краткий обзор подзапросов | Упражнения | Внешние соединения | Сравнение левосторонних и правосторонних внешних соединений | Трехсторонние внешние соединения | Рекурсивные внешние соединения | Перекрестные соединения | Естественные соединения | Что такое условная логика? |


Читайте также:
  1. VIII. Свобода выражения мнений и распространения мысли
  2. Выражения признательности
  3. Глава 3 ПРОСТЫЕ И СЛОЖНЫЕ ПРИПРАВЫ
  4. ИНОСТРАННЫЕ ТЕРМИНЫ И ВЫРАЖЕНИЯ
  5. Категория залога глагола. Способы и средства выражения залоговых значений. Типы залогов. Употребление конструкций действительного и страдательного залога в современных текстах.
  6. Категория падежа имен существительных. Основные значения падежных форм. Способы и средства выражения падежных значений.
  7. Категория числа имен существительных. Средства выражения грамматических значений числа. Стилистическая характеристика числа имен существительных.

 

Простое выражение case (simple case expression) очень похоже на вы_ражение case с перебором вариантов, но несколько менее функцио_ нально. Вот его синтаксис:

 

CASE V0

 

WHEN V1 THEN E1 WHEN V2 THEN E2

...

 

WHEN VN THEN EN [ELSE ED]

END

 

В этом описании V0 представляет значение, а символы V1, V2, …, VN – значения, сравниваемые с V0. Символы E1, E2, …, EN представляют вы_ ражения, возвращаемые выражением case, а ED – выражение, которое должно быть возвращено, если ни одно из значений набора V1, V2, …, VN не соответствует значению V0.

Вот пример простого выражения case:

 

CASE customer.cust_type_cd WHEN 'I' THEN

 

(SELECT CONCAT(i.fname, ' ', i.lname) FROM individual I

 

WHERE i.cust_id = customer.cust_id) WHEN 'B' THEN

 

(SELECT b.name FROM business b

 

WHERE b.cust_id = customer.cust_id) ELSE 'Unknown Customer Type'

 

END

 

Простые выражения case менее функциональны, чем выражения case с перебором вариантов, потому что в них нельзя задать собственные ус_ ловия; в них просто используются условия равенства. Чтобы понять, что имеется в виду, рассмотрим выражение case с перебором вариантов, логика которого аналогична предыдущему простому выражению case.


 

Примеры выражений case  
   

 

CASE

 

WHEN customer.cust_type_cd = 'I' THEN (SELECT CONCAT(i.fname, ' ', i.lname)

 

FROM individual I

 

WHERE i.cust_id = customer.cust_id) WHEN customer.cust_type_cd = 'B' THEN (SELECT b.name

 

FROM business b

 

WHERE b.cust_id = customer.cust_id) ELSE 'Unknown Customer Type'

 

END

 

Выражения case с перебором вариантов позволяют создавать условия вхождения в диапазон, условия неравенства и составные условия, ис_ пользующие and/or/not, поэтому я бы рекомендовал применять выраже_ ния case с перебором вариантов во всех случаях, кроме самых простых.

 


Дата добавления: 2015-08-17; просмотров: 44 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Выражение case| Gt; FROM account

mybiblioteka.su - 2015-2024 год. (0.006 сек.)