Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.8.216] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Мне интересно работают ли комманды регулярных выражений означающие край слова /b, в perl выражение работает, а в MySQL нет.
И другой вопрос, как другим методом можно найти слово целиком в поле таблицы. |
Сообщ.
#2
,
|
|||
|
Используй функцию LIKE:
Выберет записи, у которых Name начинается с буквы "K" Вроде бы, все регулярные выражения работают (возможно, несколько отличается синтаксис). |
Сообщ.
#3
,
|
|
|
LIKE не ищет слова целиком нужно найти слово, например в строке "один два три" слова "один" найдет, а "оди" нет, поэтому и нужны регулярные вырадения. А символ * в LIKE не действунт , там два зарезирвированных % означает любой символ и _ один символ
|
Сообщ.
#4
,
|
|
|
есть еще RLIKE если не ошибаюсь, справочника под рукой нет. Там можно использовать _некоторые_ регулярные выражения. я написал _некоторые_ потому что в сранении с Perl ...
Но через LIKE работает быстрее. |
Сообщ.
#5
,
|
|
|
Знаю я это, называется REGEXP народ, отвечайте на вопрос, он в первом посте.
|
Сообщ.
#6
,
|
|
|
если надо найти слово целиком, то можно так
тра-ляля LIKE '% один %' OR тра-ляля LIKE 'один %' OR тра-ляля LIKE '% один' |
Сообщ.
#7
,
|
|
|
locate("слово","строка поиска")
вернет позицию с которой начинается совпадение _слова_ в _строка поиска_ или 0 если совпадений нету. |
Сообщ.
#8
,
|
|
|
Из мануала по mysql:
[[:<:]] [[:>:]] Эти выражения устанавливают соответствие с нулевой строкой в начале и в конце слова соответственно. Слово определяется как последовательность символов слова, которой не предшествуют и за которой не следуют символы слова. Под символом слова понимается любая буква или цифра (как определено в ctype(3)) или подчеркивание (_). mysql> SELECT "a word a" REGEXP "[[:<:]]word[[:>:]]"; -> 1 mysql> SELECT "a xword a" REGEXP "[[:<:]]word[[:>:]]"; -> 0 |