[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как убрать модификатор g из запроса в MySQL
Kuliev
Доброго времени суток друзья.

Проблема с SQL запросом есть поиск по регулярному выражению
AND `u`.`access` REGEXP "(20)"
Как я понимаю по умолчанию происходит глобальный поиск. Но он мне не нужен. Как его отключить в запросе?

В документации MySQL ничего не нашел про модификаторы...
Valick
чё? user posted image

_____________
Стимулятор ~yoomoney - 41001303250491
Kuliev
Цитата (Valick @ 14.08.2018 - 13:43)
чё? user posted image

Если подробнее то есть ячейка в таблице с такими данными 1,2,4,20

Так вот при моем запросе если поставить 2 то из за глобального поиска в строке найдется 2, 20 причем 20 без 0 т.е. он будет думать что нашел 2

Поправил шаблон регулярки на (2+(?!0)) но тут беда MySQL не понимает данные конструкции PCRE

Мне нужно чтобы находилось точное совпадение, если 2 то 2 а не 2 и 20.
Надеюсь понятно объяснил.
Kuliev
В общем решил проблему. Дело в том что MySQL не может использовать полноценно регулярки PCRE в Большей степени он заточен под POSIX

AND `access` REGEXP '(20)[[:>:]]'

Ларчик просто открывался )
Valick
Цитата (Kuliev @ 14.08.2018 - 15:00)
В общем решил проблему.

Да нифига ты не решил, ты создал себе проблемы, как только нарушил первый закон нормализации и стал хранить в реляционной БД данные через запятую.

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.