Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Искать данные с начала слов, LIKE делает не то 
:(
    Опции темы
DissDoc
Дата 22.10.2010, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Всем привет. Итак проблема, есть набор слов в БД (один столбец)
Код

Петров Петр
Иванов Иван
Сидоров Сидр
Сергеев Сергей
Васильев Василий
Васильев Иван

Нужно сравнивать запрос только с начала слов
Если делаю так
Код

like '%в%'

То мне выдастся все!
А нужно сравнивать от начала слов. Тогда мне по запросу like '%Ив%' получу список
Иванов Иван
Васильев Иван

Как такое реализовать?
PM MAIL WWW   Вверх
Akina
Дата 22.10.2010, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Это - диалектозависимо. Указывайте СУБД и просите перенести тему в соотв. раздел.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
A5uKa
  Дата 22.10.2010, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: нет
Всего: 16



Код

like 'в%'

?
PM   Вверх
Akina
Дата 22.10.2010, 07:58 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Возможный более-менее независимый вариант:
Код

Where (' ') + fld Like '% Ив%'

Да и тот - зависит от маско-символов диалекта.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frees
Дата 22.10.2010, 08:08 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(DissDoc @  22.10.2010,  10:35 Найти цитируемый пост)
А нужно сравнивать от начала слов. Тогда мне по запросу like '%Ив%' получу списокИванов ИванВасильев Иван


Код

field1 like 'Ив%' or field1 like ' Ив%'



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Zloxa
Дата 22.10.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Frees @  22.10.2010,  08:08 Найти цитируемый пост)
field1 like 'Ив%' or field1 like ' Ив%'

"Васильев Иван" не отберется.

Это сообщение отредактировал(а) Zloxa - 22.10.2010, 08:47


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 22.10.2010, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Frees @  22.10.2010,  09:08 Найти цитируемый пост)
field1 like 'Ив%' or field1 like ' Ив%'

Тогда уж
Код

field1 like 'Ив%' or field1 like '% Ив%'




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frees
Дата 22.10.2010, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(Akina @  22.10.2010,  12:03 Найти цитируемый пост)
Тогда уж

Это я и имел ввиду... 

вариант
Код

Where (' ') + fld Like '% Ив%'

мне больше понравился (я не видел этот пост когда писал свой)


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Zloxa
Дата 22.10.2010, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Akina @  22.10.2010,  09:03 Найти цитируемый пост)
Тогда уж

все равно full scan


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
DissDoc
Дата 22.10.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



У меня MySQL. Это может сильно влиять?
PM MAIL WWW   Вверх
Frees
Дата 22.10.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(DissDoc @  22.10.2010,  13:10 Найти цитируемый пост)
У меня MySQL. Это может сильно влиять?

может в сторону полнотекстового поиска посмотреть...


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
skyboy
Дата 22.10.2010, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



конечно, может.
потому что в mysql есть встроенные механизмы полнотекстового поиска. но там есть конструктивное ограничение - работает только для myisam таблиц. а у них уже не работают транзакции. т.е. если «хочется» и транзакции иметь, и шустрый полнотекстовый поиск, то fulltext index уже «не то».
в таком случае будет лучше использовать sphinx. правда, это потребует запуска отдельной программы, что не на каждом хостинге будет возможно.
PM MAIL   Вверх
skyboy
Дата 22.10.2010, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260




M
skyboy
Перенесено из баз данных

PM MAIL   Вверх
Zloxa
Дата 22.10.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



быть может ему не надо индексирования, а достаточно rlike '[^|/W]Ив'

Это сообщение отредактировал(а) Zloxa - 22.10.2010, 10:34


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
DissDoc
Дата 22.10.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



А rlike выполняется в запросе в MySQL?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1012 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.