![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.03.2015
Сообщений: 24
|
![]()
Можно ли с помощью REGEXP осуществлять регистронезависимый поиск?
например: name ЯБЛОКО ЯБлоКо SELECT * FROM table WHERE name REGEXP 'яблоко'; Как сделать чтобы искалось яблоко во всех регистрах? Хотелось бы знать можно ли это сделать сразу в регулярном выражении REGEXP, без использования до запроса php, strtoupper() Как вариант нашел что можно так сделать: SELECT * FROM table WHERE name REGEXP UPPER('яблоко'); Но все же, есть ли в mysql REGEXP, как и в php, такое же /i правило? Последний раз редактировалось Microplankton; 03.03.2015 в 08:24. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Код:
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 03.03.2015 в 01:06. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.03.2015
Сообщений: 24
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,401
|
![]() Цитата:
lower = нижний регистр смотрите пример , вам надо lower СУБД MySQL как вы хотели Код:
Код:
Код:
Код:
![]()
E_MAIL: rijgvina7@yahoo.com
Последний раз редактировалось xxbesoxx; 03.03.2015 в 08:27. |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А regexp в мускуле разве регистрозависимый? Вот смотрю
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 02.03.2015
Сообщений: 24
|
![]() Цитата:
да, регистронезависимый. Возможно есть нюансы из-за причин данной регистронезависимости, может влияние utf-8 или еще чего. Но вот смотрите на скрин: SELECT * FROM lower2 WHERE name REGEXP('яблоко'); ![]() SELECT * FROM lower2 WHERE name='яблоко'; ![]() |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.03.2015
Сообщений: 24
|
![]()
+xxbesoxx Конечно спасибо, но твой вариант не подойдет ибо простой запрос where и так в моем случае ищет в любом регистре и без lower. А мне нужно обязательно регулярное выражение, так как условий в поиске очень много в моем запросе, единственное чтобы хотелось это регистронезависимость использовать.
Думаю что надо так, и все работает: SELECT * FROM lower2 WHERE lower(name) REGEXP lower(('яблоко')); ![]() Последний раз редактировалось Microplankton; 03.03.2015 в 10:28. Причина: изменено изображение запроса sql |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
LIKE чем не устроил? По поводу regexp много обсуждений в сети его неадекватности
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а банальный LIKE не выручит?
например, Код:
![]() p.s. а если нужен именно регистронезависимый regexp - то делайте приведение к одном регистру (хоть UPPER, хоть lower) и ищите. Вполне себе годный выход. Последний раз редактировалось Serge_Bliznykov; 03.03.2015 в 11:12. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регистронезависимый фильтр в TIBTable | ifreestyler | БД в Delphi | 2 | 19.01.2015 12:50 |
Поиск тегов. RegExp | soonner | JavaScript, Ajax | 1 | 14.09.2013 14:28 |
можно ли осуществлять вывод непосредственно на экран? | Артэс | Общие вопросы C/C++ | 8 | 21.05.2010 20:08 |
С помощью чего можно реализовать? | prod87 | Общие вопросы Delphi | 5 | 30.10.2009 17:15 |
С помощью чего можно создать программу | rhaw | Помощь студентам | 8 | 05.02.2009 10:08 |