MySQL / 4. Работа со строками

Как и многие другие типы данных, строки (string) можно сравнивать на равенство или неравенство, а также на взаимный порядок. Но в работе со строками есть и особенности:
• Строки могут быть или не быть чувствительными к смене регистра, что может влиять на результат выполнения строковых операций.
• Вы можете сравнивать как целые строки, так и их части, извлекая под строки.
• Для поиска строк, имеющих определенную структуру, вы можете выполнять операции поиска по образцу. В этом разделе будет рассмотрен ряд полезных строковых операций, в том числе будет рассказано о том, как учитывать возможность чувствительности строк к смене регистра.
Статьи раздела '4. Работа со строками':
FULLTEXT поиск и короткие слова
Задача FULLTEXT поиск по коротким словам не возвращает записей. Решение Измените значение параметра минимальной длины слова для механизма индексирования. Обсуждение В тексте, подобном KJV, некоторые слова имеют особое ...
Буквальная интерпретация метасимволов в шаблонах
Задача Вы хотите выполнить поиск по образцу, в который входит специальный символ, так, чтобы этот символ интерпретировался буквально, а не как специальный. Решение Экранируйте специальный символ при помощи обратного слэша. И...
Включение и исключение слов из FULLTEXT - поиска
Задача Вы хотите специально указать слова, которые должны присутствовать или быть исключены из FULLTEXT поиска. Решение Используйте FULLTEXT поиск в логическом (Boolean) режиме. Обсуждение Обычно FULLTEXTпоиск возвращ...
Поиск по образцу с помощью регулярных выражений
Задача Вы хотите выполнить не буквальное сравнение, а проверку на соответствие образцу. Решение Используйте оператор REGEXP и регулярные выражения, представленные в дан ном разделе, или воспользуйтесь шаблоном SQL, описан...
Поиск по образцу с помощью шаблонов SQL
Задача Вы хотите выполнить поиск по образцу, а не буквальное сравнение. Решение Используйте оператор LIKE и шаблон SQL, описанный в данном разделе. Или воспользуйтесь регулярными выражениями, описанными в рецепте 4.7. Об...
Поиск с помощью индекса FULLTEXT
Задача Вы хотите выполнить поиск в тексте большого объема. Решение Используйте индекс FULLTEXT. Обсуждение Поиск по образцу может работать с любым количеством строк, но чем их больше, тем медленнее выполняется эта операц...
Поиск фразы при помощи индекса FULLTEXT
Задача Вы хотите найти при помощи индекса FULLTEXT фразу, то есть набор смежных слов, расположенных в определенном порядке. Решение Используйте возможность поиска фразы, предоставляемую FULLTEXT поиском, или комбинируйте ...
Проверка вхождения подстроки в строку
Задача Вы хотите узнать, встречается ли указанная строка в другой строке. Решение Используйте функцию LOCATE(). Обсуждение Функция LOCATE() принимает два аргумента – искомую подстроку и строку, в которой вы ее ищете. Воз...
Проверка равенства и взаимного порядка строк
Задача Вы хотите проверить строки на равенство или узнать, какая из них является первой лексически. Решение Используйте оператор сравнения. Обсуждение К строкам можно применять обычные операторы проверки на равенство и н...
Разбиение и объединение строк
Задача Вы хотите разбить строку на части, чтобы извлечь подстроку, или объединить строки для формирования одной большой строки. Решение Чтобы получить часть строки, используйте функцию извлечения подстрок. Для объединения ст...
Создание строк, содержащих кавычки или другие специальные символы
Задача Вы хотите создать строку, заключенную в кавычки, но оказывается, что она содержит кавычки или другие специальные символы, и MySQL ее отвергает. Решение Изучите правила синтаксиса, регулирующие обработку строк в запроса...
Сохранение замыкающих пробелов в строковых столбцах
Задача MySQL удаляет из строк замыкающие пробелы, а вы хотели бы их сохранить. Решение Используйте другой тип столбца. Обсуждение Если вы сохраняете в базе данных строковое значение, содержащее замыкающие пробелы, то пр...
Типы строк
MySQL может работать с обычными (regular) или двоичными (binary) строками. В данном случае понятие «двоичный» не связано с присутствием не ASCII значений, так что сразу внесем ясность: • Двоичные данные (data) могут содержат...
Управление чувствительностью к регистру при поиске по образцу
Задача Поиск по образцу чувствителен к регистру в тех случаях, когда вы этого не хотите, или наоборот. Решение Измените чувствительность строк к регистру. Обсуждение По умолчанию операция LIKE не чувствительна к регистр...
Управление чувствительностью к регистру при сравнении строк
Задача Сравнение строк чувствительно к регистру тогда, когда это нежелательно, или наоборот. Решение Измените чувствительность строк к регистру. Обсуждение В примерах предыдущих разделов не учитывался регистр букв. Но в...

Страницы: 1