Можно ли сделать такую выборку зарпосом? SQL

D
На сайте с 28.06.2008
Offline
1114
1063

Есть в базе поле с названиями организаций, например

"Детский сад №100 Белочка г. Новосибирск"

мне нужно найти все фирмы по маске -

%N (.*) г.%

где N любая цифра

Можно ли построить такой SELECT ?

Мне нужно найти фирмы у которых между номером и названием города есть другие слова

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
N
На сайте с 01.12.2006
Offline
102
#2

Пробуйте что-то вроде этого

select 'Детский сад №100 Белочка г. Новосибирск' REGEXP '№[0-9]{0,}.\\s.{1,}г.+';

_
На сайте с 24.03.2008
Offline
381
#3

Лучше бы базу таким не насиловать, и заранее эти N отделить в отдельную колонку.

Есть большие сомнения, что регэкспы не будут жрать столько производительности, что "глаз начнет дергаться".

LEOnidUKG
На сайте с 25.11.2006
Online
1774
#4

Один раз обработать в отдельный столбец нужные данные, лучше через PHP скрипт и далее уже искать по нему.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
danforth
На сайте с 18.12.2015
Offline
153
#5

Привет, нормализация. Именно поэтому я дроблю свои таблицы настолько, насколько это возможно. Зато какие потом возможности по работе с данными.

Если запрос разовый, или где-то в бекенде, запускающийся раз в день/неделю, то да, можно регулярками. Если это где-то в приложении будет делаться, и при этом часто, то лучше так не делать, и подробить данные.

Junior Web Developer

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий