|
Программирование >> Программный интерфейс приложений
or или i . Логическое ИЛИ; равен 1, если хотя бы один из операндов истинен (не ноль или null). В противном случае равен 0. о or о iO 0 or 3 я 4 or 2 =>! 1 or null я and или &&. Логическое И; равен 1, если оба операнда истинны (не ноль или null). В противном случае равен 0. о and О <=i>0 0 and 3 =>0 4 and 2 =>1 1 and null оо В MySQL логические операции, как и в языке С, можно задавать с помощью символов ! , I I и && . Необходимо помнить однако, что оператор и не выполняет объединение строк, как в некоторых других версиях SQL. Для объединения строк можно использовать только функцию concat{) . Операторы преобразования Оператор binary заставляет программу обрабатывать следующий операнд как двоичную строку, в результате чего сравнение с этой строкой выполняется с учетом регистра символов. Если следующий операнд является числом, то он преобразуется в строковую форму: аЬс = АБС аЬс = BINARY ABC BINARY abc = ABC OO 2 < 12 2 < BINARY 12 OO Оператор binary вызывает преобразование числа в строку, после чего выполняется лексикофафическое сравнение, поскольку оба операнда являются строками. Оператор binary впервые появился в MySQL 3.23.0. Операторы сравнения с образцом MySQL включает SQL-оператор like для сравнения с образцом значений и SQL-оператор regexp для сравнения с образцом расширенных регулярных выражений. При сравнении с образцом SQL регистр символа не учитывается. Исключение составляют лишь случаи, когда задаваемая строка или образец сравнения представляют собой двоичные строки. При сравнении с образцом расширенных регулярных выражений регистр символов всегда учитьшается. Операция сравнения SQL считается успешной, если задаваемому образцу соответствует вся строка. Сравнение с образцом расширенных регулярных выражений считается успешно завершенным даже в том случае, если образец найден в любом месте строки. str blKZ pat [ESCAPE с]; 5frN0T LIKE pat [ESCAPE c]. Оператор LIKE выполняет простое SQL-сравнение с образцом и равен 1, если строка образца pat совпадает со всем строковым выражением str. Если же строка не совпадает, этот оператор равен 0. Оператор NOT LIKE функционирует с точностью до наоборот. В этой связи следуюшие два выражения эквивалентны: str NOT LIKE pat [ESCAPE с] NOT (str LIKE pat [ESCAPE c]) Результатом этого оператора является значение NOLL, если хотя бы одна из строк имеет значение NULL. В SQL-образцах два символа имеют специальное значение. Символ Соответствие % Любая последовательность символов, кроме значения NOLL (включая пустую строку) Любой одинарный символ Задаваемые для сравнения образцы могут содержать как один такой символ, как и оба сразу. catnip LIKE cat% dogwood LIKE %wood =Я bird LIKE Ol bird LIKE dogwood LIKE %wo Ol Учитывать ли регистр символов при сравнении с образцом с помошью опер iTopa LIKE, определяется сравниваемыми строками. Обычно в таких случаях регистр символов при сравнении не учитывается. Ситуация изменяется, если одна из строк является двоичной строкой, abc LIKE ABC BINARY abc LIKE ABC abc LIKE BINARY ABC =>0 Поскольку символу % можно поставить в соответствие любую последовательность символов, то ему же может соответствовать и полное их отсутствие. like % 1 cat like cat% 1 В MySQL оператор like можно использовать с числовыми выражениями: 50 + 50 like 1% 1 200 like 2 Если в строке необходимо ввести символы % или отключив их специальное значение, достаточно впереди установить символ \ : 100% pure like 100% 1 100% pure like 100\% 100% pure LIKE 100\% pure *1 Чтобы использовать другой символ перехода (т.е. не \ ), достаточно определить его с помощью оператора escape: 100% pure like 100 % escape oo 100% pure like 100 % pure escape *1 str regexp pat, str NOT regexp pat. Оператор regexp выполняет сравнение с образцом расширенных регулярных выражений. Расширенные регулярные выражения подобны образцам, используемым UNIX-утилитами grep и sed. В табл. В.1 представлены последовательности образцов, которые можно применять в MySQL. Таблица В.1. Последовательности расширенных регулярных выражений Последова- Описание гельносгь Соответствует началу строки $ Соответствует концу строки Соответствует любому одинарному символу, включая символ перехода на новую строку [ ] Соответствует любому символу, установленному между скобками [ ] Соответствует любому символу, не установленному между скобками е* Соответствует нескольким или определенному количеству экземп- ляров элемента образца е е+ Соответствует одному или нескольким экземплярам элемента об- разца в е? Соответствует нескольким или определенному количеству экземп- ляров элемента образца е
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |