В этом учебном пособии вы узнаете, как использовать MySQL функцию IF с синтаксисом и примерами.
Описание
MySQL функция IF возвращает одно значение, если условие принимает значение TRUE, или другое значение, если условие принимает значение FALSE.
Синтаксис
Синтаксис MySQL функции IF:
Параметры или аргументы
condition - значение, которое вы хотите проверить.
value_if_true - необязательный. Это значение возвращается, если условие принимает значение TRUE.
value_if_false - необязательный. Это значение возвращается, если условие оценивается как FALSE.
Примечание
- Функция MySQL IF может возвращать строку или числовое значение в зависимости от контекста, в котором она используется.
Применение
Функция IF может использоваться в следующих версиях MySQL:
- 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
Пример
Рассмотрим примеры MySQL функции IF, чтобы понять, как использовать функцию IF в MySQL.
Функция MySQL IF - возвращает строковое значение
Этот первый пример функции IF показывает, как вы могли бы вернуть строковое значение.
Например:
1 2 3 |
mysql> SELECT IF(100<200, 'y', 'n'); #Результат: y |
В этом примере функции IF условие 100 <200. Если это условие TRUE, функция IF вернет ‘y’. В противном случае, функция IF вернет ‘n’. В первом примере функции IF используется числовое условие. Однако вы также можете использовать функцию IF со строковым условием. Например:
1 2 3 |
mysql> SELECT IF(STRCMP('google.com','yandex.ru')=0, 'yes', 'no'); #Результат: no |
В этом примере функция IF использует функцию STRCMP для сравнения двух строк: STRCMP('google.com','yandex.ru'). Если строка 'google.com' совпадает с строкой 'yandex.ru', то функция IF вернет 'yes'. В противном случае, функция IF вернет 'no'.
Функция MySQL IF - возвращает числовое значение
Следующий пример функции IF показывает, как вы должны возвращать числовое значение.
Например:
1 2 3 |
mysql> SELECT IF(10<20, 300, 500); #Результат: 300 |
В этом примере функции IF условие 10<20. Если это условие TRUE, функция IF вернет числовое значение 300. В противном случае, если условие FALSE, функция IF вернет 500.
Функция MySQL IF - добавляет поле
Давайте рассмотрим пример, в котором функция IF используется для проверки значения поля в таблице.
Например:
1 2 3 4 5 |
mysql> SELECT supplier_id, supplier_name, quantity, IF(quantity>10, 'More', 'Less') FROM suppliers; |
В этом примере функция IF проверяет значение поля quantity в таблице suppliers. Функция IF будет оценивать условие quantity > 10 для каждой строки в нашем наборе результатов.
Таким образом (для каждой строки), если quantity > 10, функция IF вернет 'More'. В противном случае функция IF вернет значение 'Less'.