CASE в SQL

  |
 6868

Оператор CASE у SQL використовується для перевірки умов та виконання операцій над даними. Синтаксис виразу CASE завжди починається з ключового слова CASE і закінчується ключовим словом END, за яким слідує псевдонім (оператор AS) імені стовпця. Наприклад:

Тут ми перевіряємо кожен рядок на відповідність заданому виразу CASE та виконуємо додаткову дію у разі відповідності. Якщо вік (age) більше або дорівнює 18, то вибираються відповідні рядки customer_id та first_name і додається додатковий стовпець can_vote зі значенням Allowed.

Розглянемо інший приклад. Припустимо, ми хочемо надати клієнтам знижку 10% на кожне замовлення на різдвяному розпродажі, якщо сума перевищує 400.

Тут ми перевіряємо, чи сума замовлення (amount) більша або дорівнює 400. Якщо ця умова виконана, додається новий стовпець offer_price, що містить суми замовлень з урахуванням 10% знижки (формула amount - amount*10/100).

Також можна використовувати відразу декілька умов усередині одного виразу CASE.

Тут ми вибираємо стовпці customer_id, first_name та додаємо стовпець з ім’ям country_name. Значенням country_name буде:

   United States of America, якщо країна (поле country) — USA.

   United Kingdom, якщо країна (поле country) — UK.

CASE з ELSE в SQL

Оператор CASE може мати необов’язкову частину ELSE. Частина ELSE виконується, якщо жодна з умов в операторі CASE не виконується. Наприклад:

Тут ми вибираємо стовпці customer_id, first_name та додаємо стовпець з ім’ям country_name. Значенням country_name буде:

   United States of America, якщо країна (поле country) — USA;

   United Kingdom, якщо країна (поле country) — UK;

   Unknown Country, якщо країною (поле country) не є ні USA, ні UK (спрацьовує частина ELSE).

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (15 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *