|
Программирование >> Программный интерфейс приложений
Окончание табл. В. 1 Последова- Описание тельность е 1! е 2 Соответствует элементу образца е 1 или е2 е{т} Соответствует т экземплярам элемента образца е е {т,} Соответствует т или более экземплярам элемента образца е е {, п} Соответствует 0-п экземплярам элемента образца е е {т, п} Соответствует т-п экземплярам элемента образца е (- ) Групповые элементы образца в одном элементе Другая Неспециальные символы, которые соответствуют самим себе Оператор regexp равен 1, если строка образца pat соответствует строке выражения ехрг. В противном случае этот оператор равняется 0. Оператор not regexp работает с точностью до наоборот. В этой связи следующие выражения эквивалентны: str not regexp pat not {str regexp pat) Если хотя бы одна из строк имеет значение null, результатом выполнения оператора также станет значение null. Образец необязательно должен соответствовать полной строке, достаточно соответствия какой-либо ее части. Конструкции [. . . ] и [- ...] определяют классы символов. Внутри класса можно определить диапазон символов, указав разделенные дефисом крайние значения диапазона. Конструкция [a-z], например, соответствует любой букве нижнего регистра, а [0-9] соответствует любой цифре. Чтобы определить в диапазоне символ ] , его нужно ввести в качестве первого символа класса. Для определения символа - внутри диапазона необходимо ввести его первым или последним в классе. Наконец, чтобы ввести символ не нужно устанавливать его первым символом после [ . Для использования в классах символов могут также применяться некоторые другие более сложные конструкции. Обратитесь к справочному руководству по MySQL для получения подробной информации о них. Сравнение с расщиренными регулярными выражениями считается успещным, если заданный образец найден в любой части строки. Для сравнения образца только с началом или концом строки можно использовать символы и $ . abcde regexp b =>! abcde regexp b 0 abcde regexp b$ i, , -O abcde regexp a l abcde regexp e$ abcde regexp a.*e$ l Регистр символов при сравнении с расширенными регулярными выражениями учитывается: abc regexp abc -о abc regexp abc Str rlike pat; Str not rlike pat. Операторы rlike и not rlike аналогичны операторам regexp и not regexp. Для определения специальных последовательностей внутри строк MySQL используется такой же синтаксис, как и в языке С. Последовательности \п , \t и \\ , например, интерпретируются соответственно как символы перехода на новую строку, табуляции и обратной косой чертьг Чтобы определить эти символы в образце, достаточно добавить впереди еще одну обратную косую черту ( \\п , \\t , WW ). Одна обратная косая черта в процессе синтаксического анализа запроса обязательно удаляется, после чего следующая за ним последовательность соответствующим образом интерпретируется при сравнении строки с образцом. Функции функции вызываются для выполнения операций и возвращения их результатов. При вызове функций пробел между именем функции и следующими за ним круглыми скобками не допускается. now () - правильно, now о - неправильно Задаваемые функции задаются несколькими параметрами, они разделяются запятыми. Пробелы между параметрами допустимы. concat( abc , de f ) - правильно; concat { abc , def ) - также правильно Функции сравнения greatest (exprl,exprl, . ..). Возвращает наибольший аргумент. Наибольший среди заданных аргументов определяется в соответствии со следующими правилами. Если все задаваемые в функции аргументы являются целыми значениями, то они сравниваются как целые. Если все задаваемые в функции аргументы являются значениями с плаваюшей запятой, то они сравниваются как значения с плавающей запятой. Если первые два правила не подходят, аргументы сравниваются как строки. Регистр символов при сравнении учитывается лишь в том случае, если хотя бы один из заданных аргументов является двоичной строкой. GREATEST(2, 3,1) 3 GREATEST(38.5, 94.2,-1) Ф94.2 GREATEST ( а , ab , abc ) => abc GREATEST(1,3,5) 5 GREATEST( A , b , C ) c GREATEST(BINARY A , b , C ) ъ Функция GREATEST о Впервые появилась в MySQL 3.22.5. В более ранних версиях вместо нее можно использовать функцию МАХ (). lF{expr],expr2,expr3}. Если аргумент exprl истинен (не О или NULL), возвращается аргумент ехрг2. В противном случае эта функция возврашает аргумент ехргЗ. Функция IF() возвращает число или строку в соответствии с контекстом, в котором задается. IF(1, true , false ) true IF(0, true , false ) * false IF(NULL, true , false ) false IF(1.3, non-zero , zero ) non-zero IF(0. 3, non-zero , zero ) => zero IF(0.3 != 0, non-zero , zero ) => non-zero Аргумент expr вычисляется как целое значение, и в последних трех примерах показано, какая ошибка может возникнуть в результате невнимательности пользователя. Вещественное значение L3 преобразуется в целое значение 1, которое является истинным. Однако 0.3 преобразуется в целое значение О, которое является ложным. В последнем примере списка показан правильный вариант использования чисел с плавающей запятой. Воспользуйтесь им при выполнении сравнения. В результате этого сравнения возвратится 1 или О в зависимости от результата проверки. iFNUhhiexprl,ехрг2). Эта функция возврашает аргумент ехрг2, если выражение ехрг] имеет значение NULL. В противном случае эта функция возвращает аргумент ехрг]. Функция IFNULLO возвращает число или строку в зависимости от контекста, в котором задается.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |