Документация MySQL
Обычно если при выполнении сравнения строк одно из выражений является
зависимым от регистра, то сравнение выполняется также с учетом регистра.
Функция производит сравнение с шаблоном, используя операции сравнения
простых регулярных выражений в SQL. Возвращает
(ЛОЖЬ).
Выражение
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1
Если требуется исследовать литералы при помощи шаблонного символа, следует
предварить шаблонный символ экранирующим символом. Если экранирующий
символ конкретно не указывается, то подразумевается применение символа
mysql> SELECT 'David!' LIKE 'David\_';
-> 0
mysql> SELECT 'David_' LIKE 'David\_';
-> 1
В следующих двух примерах показано, что сравнение строк производится с
учетом регистра, если ни один из операндов не является строкой с двоичными
данными:
допускаются даже числовые выражения! (Это расширение MySQL
по сравнению с ANSI SQL LIKE.)
Примечание: поскольку в MySQL применяются правила экранирования в строках,
применяемые в языке C (например,
), необходимо дублировать все символы
, используемые в строках функции
. Например, для поиска сочетания
символов
. Чтобы выполнить поиск
символа
, он должен быть указан как
(обратные слеши удаляются
дважды: сначала синтаксическим анализатором, а потом - при выполнении
сравнения с шаблоном, таким образом остается только один обратный слеш,
который и будет обрабатываться).
То же, что и
.
. Шаблон может
представлять собой расширенное регулярное выражение. See section
. Возвращает
, если
, в
противном случае -
. Функция
, она
предусмотрена для совместимости с mSQL. Примечание: поскольку в MySQL
используются правила экранирования в строках, применяемые в языке C
(например,
), необходимо дублировать все символы
, используемые в
строках функции
. Что касается версии MySQL 3.23.4, функция
является независимой от регистра для нормальных строк (т.е. строк не с
двоичными данными):
mysql> SELECT 'Monty!' REGEXP 'm%y%%';
-> 0
mysql> SELECT 'Monty!' REGEXP '.*';
-> 1
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
-> 1
mysql> SELECT "a" REGEXP "A", "a" REGEXP BINARY "A";
-> 1 0
mysql> SELECT "a" REGEXP "^[a-d]";
-> 1
используется текущий набор символов (ISO-8859-1 Latin1 по
умолчанию),
То же, что и
.
STRCMP(expr1,expr2)
, если строки идентичны,
- если первый
аргумент меньше второго (в соответствии с имеющимся порядком сортировки),
и
mysql> SELECT STRCMP('text', 'text2');
-> -1
mysql> SELECT STRCMP('text2', 'text');
-> 1
mysql> SELECT STRCMP('text', 'text');
-> 0
MATCH (col1,col2,...) AGAINST (expr)
MATCH (col1,col2,...) AGAINST (expr IN BOOLEAN MODE)
MATCH ... AGAINST()
(col1,col2,...)
. Величина релевантности
представляет собой положительное число с плавающей точкой. Нулевая
релевантность означает отсутствие сходства. Функция
MATCH ... AGAINST()
работает в версиях MySQL 3.23.23 или более поздних. Расширение
было добавлено в версии 4.0.1. Более подробное описание и примеры
использования приведены в разделе section
.
Рубрики: Без рубрики |

