документация MySQL

Сравнение оператори доведе до стойност от 1 (вярно, вярно), 0 (фалшива, окачени) или NULL. Тези функции работят както с цифрите и конците. Редове, колкото е необходимо автоматично преобразувани в цифри и числа - в редици (както в Perl).

Сравнение на операции в MySQL изпълнява следните правила:

  • Ако един или двата аргумента - NULL. и в резултат на сравнението е NULL. Важи за всички оператори, с изключение на <=>.
  • Ако и двата аргумента в оператор на сравнение са струни, те се сравняват като струни.
  • Ако и двата аргумента - числа, те се сравняват като цели числа.
  • Стойностите на шестнадесетични ако те не са в сравнение с броя, се третират като двоичен низ.
  • Ако един от аргументите е вид колона или TIMESTAMP DATETIME. и втория аргумент - константа, константа преди сравнението се превръща тип TIMESTAMP. Това се прави за по-добра съвместимост с ODBC.
  • Във всички останали случаи, аргументите се сравняват За валидни номера с плаваща запетая.

По подразбиране, Сравнява низ са чувствителни към регистъра с помощта на текущия набор от символи (за ISO-8859-1 Latin1 подразбиране, което, освен това, е напълно подходящ за английски език).

Следващите примери илюстрират превръщането на низове към номера за операторите за сравнение:

= Равно: <> != Не е равно: <= Меньше или равно: <Меньше чем:>= По-голямо или равно> По-голямо от: <=> NULL-сигурно сравняване (равен): Е NULL NULL НЕ Е тест за определяне на стойността е нула или не: За MySQL да работи добре с други програми, при условие, подкрепа за следните допълнителни функции за е нула функция.
  • Можете да намерите последната въведена ред с израза: Тази функция може да бъде блокирана чрез инсталиране SQL_AUTO_IS_NULL = 0. Вижте раздел 5.5.6 SET Синтаксис команда.
  • За тип данни NOT NULL дата и час и дата колони можете да намерите на специалната дата 0000-00-00. използва израза: Това е необходимо за работата на някои ODBC приложения (защото ODBC не поддържа вальор 0000-00-00).
ИЗРАЗ и между мин макс Ако стойността на експресията ИЗРАЗ по-голяма от или равна на една предварително определена стойност минути и по-малко от или равно на предварително определена стойност на макс. след това функцията връща 1. МЕЖДУ друго - 0. Това е еквивалентно на експресията (мин <= expr AND expr <= max ), в котором все аргументы представлены одним и тем же типом данных. Способ выполнения сравнения определяется первым аргументом ( expr ):
  • Ако ИЗРАЗът е тип колона TIMESTAMP а. ДАТА или DATETIME. и стойностите на MIN () и MAX () са константи, последният се довежда до същия формат като този на колона.
  • Ако ИЗРАЗът е низов израз на нечувствително, а след това се прави сравнение на низ, нечувствително.
  • Ако ИЗРАЗът зависи низ, нечувствително изразяване, сравненията струнните чувствителни.
  • Ако ИЗРАЗ е израз цяло число, след това сравняване на числа.
  • Във всички останали случаи, аргументите се сравняват като реалните числа с плаваща запетая.
ИЗРАЗът не между минималната и максималната стойност Същото важи и за функцията НЕ (ИЗРАЗът МЕЖДУ минималната и максималната стойност). ИЗРАЗът ПО (стойност.) Връща 1, ако ИЗРАЗът е равна на всяка стойност от списък ПО. в противен случай - 0. Ако всички стойности - константи, те се оценяват според вида на ИЗРАЗ и сортирани. Търсене на елемент в този случай се получава чрез логическо търсене. Това означава, че във функцията е много бързо, ако списъка по стойност се състои изцяло от константи. Ако ИЗРАЗът е низов израз главни и малки букви, сравнението на низ се прави чувствителна: (. ИЗРАЗът ПО (стойност)) ИЗРАЗът НЕ ПО (. Value) Същото се отнася и за функцията НЕ. ISNULL (ИЗРАЗът) Ако ИЗРАЗът е равна на NULL. на ISNULL () връща едно друго - 0. Забележка: При съпоставяне на данните с помощта на нулевата = операторът винаги ще се върне FALSE. Обединявам се (списък) Връща първия елемент в списъка на стойност не е равно на NULL. ИНТЕРВАЛ (N, N1, N2, N3.) Връща 0, ако N Ако зависи регистър ред се сравнява с използване на стандартен оператор (=, <>. но не и други подобни), пространството следящ се игнорира.