SQL функции и операторы сравнения значений в базах данных MySQL

Рубрика по базам данных: http://zametkinapolyah.ru/zametki-o-mysql/sqlite/
Рубрика MySQL: http://zametkinapolyah.ru/zametki-o-mysql/server-mysql
Паблик блога в ВК: https://vk.com/zametkinapolyah
Тематическая группа в ВК: https://vk.com/zametki_bd

Помощь проекту:
WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223

MySQL поддерживает довольно-таки большой набор операторов и функция сравнения значений: BETWEEN … AND …, COALESCE(), =, GREATEST(), IN(), INTERVAL(), IS, IS NOT, IS NOT NULL, IS NULL, ISNULL(), LEAST(), LIKE, NOT BETWEEN … AND …, !=, NOT IN(), NOT LIKE, STRCMP().
Часть из них возвращает логические значения, как результат своей работы, а некоторые функции и операторы возвращают значения, исходя из того, что они получили.

— Проверка на равенство значений
SELECT 1 = 0;
SELECT NULL = 0;
SELECT 1 = NULL;
SELECT NULL = NULL;
SELECT ‘0’ = 0;
SELECT ‘0.0’ = 0;
SELECT ‘0.01’ = 0;
SELECT ‘.01’ = 0.01;

— Оператор проверки логического значения IS
SELECT 10 IS TRUE;
SELECT -10 IS TRUE;
SELECT ‘string’ IS NOT NULL;
SELECT ” IS TRUE;
SELECT ” IS FALSE;
SELECT ‘ ‘ IS TRUE;
SELECT 0 IS TRUE;
SELECT NULL IS TRUE;
SELECT NULL IS FALSE;

— Операторы IS NULL и IS NOT NULL или проверка на NULL
SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;

— Оператор между (не знаю как он правильно называются): … BETWEEN … AND …

SELECT 2 BETWEEN 1 AND 3, 2 BETWEEN 3 and 1;
SELECT 1 BETWEEN 2 AND 3;
SELECT 2.5 BETWEEN 2 AND 3;
SELECT 4 BETWEEN 2 AND 3;
SELECT ‘b’ BETWEEN ‘a’ AND ‘c’;

SELECT ‘b’ NOT BETWEEN ‘a’ AND ‘c’;
SELECT 1 NOT BETWEEN 2 AND 3;
SELECT 4 NOT BETWEEN 2 AND 3;
SELECT 2.5 NOT BETWEEN 2 AND 3;

— Следующая функция MySQL сравнивает значения и возвращает первое попавшееся, которое не равно NULL
SELECT COALESCE(NULL,1, 55, ‘hello’);
SELECT COALESCE(NULL,NULL,NULL);

— Следующая функция MySQL сравнивает значения и возвращает наибольшее
SELECT GREATEST(2,0);
SELECT GREATEST(34.0,3.0,5.0,767.0);
SELECT GREATEST(‘B’,’A’,’C’);
SELECT GREATEST(‘B’,’A’,’C’, NULL);

— Оператор IN. Данный оператор в SQL и базах данных MySQL имеет два операнда. Первый операнд сравниваемое значение, второй – набор значений, с которым сравнивается первый операнд.

SELECT 2 IN (0,3,5,7);
SELECT ‘wefwf’ IN (‘wee’,’wefwf’,’weg’);

SELECT (3,4) IN ((1,2), (3,4));
SELECT (3,4) IN ((1,2), (3,5));

SELECT 2 NOT IN (0,3,5,7);
SELECT ‘wefwf’ NOT IN (‘wee’,’wefwf’,’weg’);

— В базах данных MySQL есть функция ISNULL(), в качестве аргумента она принимает выражение и проверяет его результат на NULL

SELECT ISNULL(1+1);
SELECT ISNULL(1/0);

— Быстрая проверка/сортировка чисел.
0 1
SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);
SELECT INTERVAL(31, 30, 35, 17, 30, 44, 200);
SELECT INTERVAL(4, 6, 7, 8, 9, 10, 11);

— Поиск наименьшего значения в базе данных MySQL
— Если один из аргументов NULL, то результат всегда будет NULL
— Если все аргументы INTEGER или могут быть приведены к INTEGER, то они сравниваются как целые цисла.
— Если аргументы REAL или могут быть приведены к REAL, то они сравниваются как вещественные числа.
— Если аргументы смешанные (строки и числа), то MySQL сравнивает их как числа.
— Если аргументы – небинарные строки, то они сравниваются как небинарные строки.
— Все остальные случаи MySQL сравнивает значения в бинарном виде, то есть как последовательность нулей и единиц.
SELECT LEAST(2,0);
SELECT LEAST(34.0,3.0,5.0,767.0);
SELECT LEAST(‘B’,’A’,’C’);

ПРИСОЕДИНЯЙТЕСЬ
Поделиться

Кирилл Антонов

Канал для начинающего веб-разработчика. Здесь ты найдешь различные видео уроки о технологиях и программном обеспечение, которые используют веб-разработчики.



Обсуждение закрыто.