Вираз MySQL CASE є частиною функції потоку керування, яка дозволяє нам написати if-else або if-then-else логіку запиту. Цей вираз можна використовувати будь-де, де використовується дійсна програма або запит, як-от речення SELECT, WHERE, ORDER BY тощо.
Вираз CASE перевіряє різні умови та повертає результат, коли виконується перша умова правда . Як тільки умова виконується, він припиняє обхід і видає вихід. Якщо жодна умова не знайдено, вона виконує блокувати else . Якщо блок else не знайдено, він повертає a НУЛЬ значення. Головна мета в MySQL Оператор CASE призначений для роботи з кількома операторами IF у реченні SELECT.
Ми можемо використовувати оператор CASE двома способами, а саме:
1. Простий оператор CASE:
Перший спосіб полягає в тому, щоб взяти значення та зіставити його з заданим оператором, як показано нижче.
набори в java
Синтаксис
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Він повертає результат, коли перший порівняти_значення порівняння стає вірним. В іншому випадку він поверне речення else.
приклад
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Вихід
Після успішного виконання наведеної вище команди ми побачимо наступний результат.
2. Шуканий оператор CASE:
Другий метод полягає в розгляді a умова_пошуку в КОЛИ і якщо знайде, повертає результат у відповідному реченні THEN. В іншому випадку він поверне речення else. Якщо пункт else не вказано, він повертатиме значення NULL.
Синтаксис
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
приклад
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Вихід
Тип повернення
Вираз CASE повертає результат залежно від контексту, де він використовується. Наприклад:
- Якщо він використовується в контексті рядка, він повертає результат рядка.
- Якщо він використовується в числовому контексті, він повертає ціле число, число з плаваючою точкою, десяткове значення.
Підтримка версії MySQL
Інструкція CASE може підтримувати такі версії MySQL:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
- MySQL 3.23.3
Давайте створимо таблицю ' студентів ' і виконайте оператор CASE для цієї таблиці.
У таблиці вище ми бачимо, що колонка класу містить коротку форму студентської кафедри. Тому скорочену форму кафедри ми збираємось замінити повною. Тепер виконайте наступний запит, щоб виконати цю операцію.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Після успішного виконання наведеного вище запиту ми отримаємо наступний результат. Тут ми бачимо, що відділ стовпець містить повну форму замість короткої.
що таке експорт в linux