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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос с regexp, MySQL 
V
    Опции темы
Avrely
Дата 26.7.2009, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нужно получить все данные где есть слово Nas. Сначало попробовал через Like %Nas% но при этом получаю также Anastasia
В базе данные есть 
Kanye West, NaS, Rakim, KRS-One
Graham Nash
Nas

Как составить запрос чтобы не выводился Graham Nash, а выводились данные где nas является целом словом.
PM MAIL ICQ MSN   Вверх
Gluttton
Дата 26.7.2009, 13:56 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


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

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



Цитата

Нужно получить все данные где есть слово Nas


Раз слово, значит Nas должно быть ограничено:
- пробел, пробел;
- пробел, дефис;
- дефис, пробел;
- дефис, дефис;
- другое (в зависимости от предметной области).

[Firebird 2.1]
Для таблицы Т:
user posted image

Запрос:
Код

SELECT T.A
FROM T
    WHERE T.A LIKE 'Nas'
    OR T.A LIKE '% Nas'
    OR T.A LIKE 'Nas %'
    OR T.A LIKE '%-Nas'
    OR T.A LIKE 'Nas-%'
    OR T.A LIKE '%-Nas-%'
    OR T.A LIKE '% Nas %'


Вернет следующие данные:
user posted image.


--------------------
Слава Україні!
PM MAIL   Вверх
DimW
Дата 27.7.2009, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



удалил

Это сообщение отредактировал(а) DimW - 27.7.2009, 10:12
PM MAIL ICQ   Вверх
Zloxa
Дата 27.7.2009, 10:30 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Код

SQL> -- тест данные
SQL> with t as (select 'Nas' str from dual
  2             union all select 'hello, NaS!' from dual
  3             union all select 'Graham Nash' from dual
  4             union all select 'podnasrat''' from dual
  5             union all select 'prosto nasrat''' from dual
  6             union all select 'prosto nas rat''' from dual
  7             union all select 'Nas ne dogonish' from dual
  8             union all select 'dogonish ne nas' from dual
  9             )
 10  -- запрос
 11  select * from t
 12  where regexp_like(str,'(\W|^)nas(\W|$)','i')
 13  /
 
STR
---------------
Nas
hello, NaS!
prosto nas rat'
Nas ne dogonish
dogonish ne nas
 
SQL> 


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


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


Бывалый
*


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

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



Zloxa, mysql пишет что нет такой функции как  regexp_like. 
PM MAIL ICQ MSN   Вверх
Zloxa
Дата 27.7.2009, 13:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Avrely, А кто тут упомянал MySql?

RTFM RLIKE


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


Бывалый
*


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

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



Zloxa,  могли бы написать пример на SQL ?  smile 

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


Чо?
****


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

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



?
Код

where column rlike '[[:<:]]nas[[:>:]]'



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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