Результат этого запроса представлен в табл. 3.1. Таблица 3.1. Результат выполнения запроса
Как вы видите, при сравнении строк с помощью этого оператора регистр символов не учитывается.
Следующий оператор также проверяет равенство двух операндов.
Оператор x < = > уВ случае, когда оба операнда не равны NULL, данный оператор аналогичен оператору «равно». Если один из операндов равен NULL, оператор < = > возвращает значение 0 (FALSE), а если оба операнда равны NULL – значение 1 (TRUE).
Например, запросвозвращает результат (табл. 3.2) и наглядно иллюстрирует различие между операторами = и < = >. Таблица 3.2. Результат выполнения запроса
Следующие операторы проверяют равенство операнда какому-либо логическому значению.
Оператор x IS y, где y – TRUE, FALSE, UNKNOWN или NULLВыражением IS TRUE возвращает 1 (TRUE), если x – отличное от нулячисло или отличная от нулевой («0000-00-00 00:00:00») дата и/или время, и 0 (FALSE) – в остальных случаях.
Выражением IS FALSE возвращает 1 (TRUE), еслихравен нулю либо нулевой дате и/или времени, и 0 (FALSE) – в остальных случаях.Примечание
Если x является символьной строкой, то перед сравнением с TRUE или FALSE эта строка преобразуется в число. Для этого отбрасываются все символы, начиная с первого, недопустимого в числовом значении, а начальная подстрока рассматривается как число. Если первый символ в значении – буква или пустая строка («»), то x приравнивается к нулю.
Выражениях IS UNKNOWN их IS NULL возвращают 1 (TRUE), еслихравен NULL, и 0 (FALSE) – в остальных случаях.
Например, запрос
возвращает результат, представленный в табл. 3.3. Таблица 3.3. Результат выполнения запроса
возвращает результат, представленный в табл. 3.4. Таблица 3.4. Результат выполнения запроса
возвращает результат, представленный в табл. 3.5. Таблица 3.5. Результат выполнения запроса
Примечание
Если столбец определен как DATE NOT NULL (или DATETIME NOT NULL), то значение этого столбца, равное «0000-00-00» (или «0000-00-00 00:00:00»), рассматривается оператором IS NULL как NULL. Например, если при создании таблицы Orders (Заказы) (см. листинг 2.4 в главе 2) задать для столбца date (дата) свойство NOT NULL, то запрос SELECT * FROM Orders WHERE date IS NULL; выведет строки, в которых дата заказа равна «0000-00-00».
Следующие операторы проверяют несовпадение двух операндов.
Операторы x! = y, x <> y
Оператор «не равно» возвращает следующие значения:
• 1 (TRUE) – если х и
• 0 (FALSE) – если
• NULL – если по крайней мере один из операндов равен NULL.
Например, запрос