Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2008, 16:43   #1
Nikolaeva
Пользователь
 
Регистрация: 23.05.2007
Сообщений: 30
Счастье Комбинация в записи.

В запросе надо выбрать записи, в которых в символьном поле встречается определенная комбинация в произвольном месте. Например, мне нужны все записи, где есть слово 'медсестра' в поле 'должность'.
LIKE - не работает. М.б. что-то типа звездочек или вопросиков?(но с ними вообще синт. ошибка).
Спасибо!
Nikolaeva вне форума Ответить с цитированием
Старый 22.04.2008, 16:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Фильтруй, а в OnFilterRecord пропиши процедуру опознания, мол если нет в поле слова такого то не показывать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 17:21   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Например, мне нужны все записи, где есть слово 'медсестра' в поле 'должность'. LIKE - не работает.
А вы не пытались все привести к одному регистру?
mihali4 вне форума Ответить с цитированием
Старый 23.04.2008, 07:51   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Nikolaeva,
1) из книги Мартин Грубер. Понимание SQL.
Цитата:
============ ОПЕРАТОР LIKE =============

LIKE применим только к полям типа CHAR или VARCHAR, с которыми
он используется чтобы находить подстроки. Т.е. он ищет поле символа
чтобы видеть, совпадает ли с условием часть его строки.
В качестве условия он использует групповые символы(wildkards) -
специальные символы которые могут соответствовать чему-нибудь.
Имеются два типа групповых символов используемых с LIKE:

* символ подчеркивания ( _ ) замещает любой одиночный символ.
Например, 'b_t' будет соответствовать словам 'bat' или
'bit', но не будет соответствовать 'brat'.

* знак процента (%) замещает последовательность любого числа
символов (включая символы нуля). Например '%p%t' будет
соответствовать словам 'put', 'posit', или 'opt', но не 'spite'.
2) SQL, конечно, стандарт, но есть в каждом SQL сервере свою нюансы... Лучше указывать, на каком именно сервере у Вас возникла проблема (MS SQL, Oracle, MySQL, Access, Firebird и иже с ними... ;-))

3) очень рекомендую прислушать к совету mihali4 насчёт приведения строки поиска и поля к единому регистру (Upper(Поле) и 'МЕДСЕСТРА' )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2008, 09:50   #5
Nikolaeva
Пользователь
 
Регистрация: 23.05.2007
Сообщений: 30
По умолчанию

C % совет отличный!!! А с регистрами и так понятно было. Большое спасибо.
Nikolaeva вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записи Rio309 Помощь студентам 1 15.03.2008 22:23
Записи Xeon332 Помощь студентам 5 12.01.2008 23:17
Записи RECREATOR Помощь студентам 3 25.12.2007 10:58
записи 11111 Паскаль, Turbo Pascal, PascalABC.NET 2 29.11.2007 15:28
Записи zzzzz Помощь студентам 1 25.05.2007 16:26