Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Проблемы с полями при поиске   Найти похожие ветки 

 
mouse_web   (2004-08-06 17:03) [0]

У меня таблица с двумя полями title (text) и body (memo), база Access.
Пишу запрос: SELECT * from Table WHERE title+" "+body LIKE "%search%";
этот запрос ничего не находит в таблице...
если искать не по двум сразу, а по отдельным полям, то все находится...
я подразумеваю, что в случае поиска по двум полям идет несовместимость типов полей text и memo...
может быть надо преодбразовать memo поле в текстовое? и как?
может кто сталкивался с этим?


 
Соловьев ©   (2004-08-06 17:14) [1]


> SELECT * from Table WHERE title+" "+body LIKE "%search%";

тебе сразу по двум полям?
SELECT * from Table WHERE title LIKE "%search%" and body LIKE "%search%";


 
sniknik ©   (2004-08-06 17:15) [2]

> что в случае поиска по двум полям идет несовместимость типов полей text и memo...
вряд ли, тем более что в этом случае это одно и тоже.

> может быть надо преодбразовать memo поле в текстовое? и как?
действительно как? это же тоже самое. ;о)


 
sniknik ©   (2004-08-06 17:16) [3]

Соловьев ©   (06.08.04 17:14) [1]
так, title+" "+body LIKE "%search%", у меня тоже сработало, без проблем. если дело и есть то в чемто другом.


 
46_55_41_44 ©   (2004-08-06 17:17) [4]


> Пишу запрос: SELECT * from Table WHERE title+" "+body LIKE
> "%search%";

Ты что прям так и писал запрос? SQL что сума сошел???

Select * from Table
Where Title = "anything"
and Body Like "%anything"

Вот так надо...
Или так:

Select * from Table
Where Title Like "%anything%"
and Body Like "%anything"

Кстати... Символ который используется для Like в Delphi - "%" в MS Access например "*".
То есть, если будешь писать текст SQL в коде программы, то LIKE "%search%", а если в самом MS Access, то "*search*"!!!
И это очень важно... Иначе не будет работать!!!
А так никакой разницы... Не надо менять тип поля!!!


 
mouse_web   (2004-08-06 17:35) [5]

спасибо заработало!

при большом количестве полей лучше делать запросы типа

> Select * from Table
> Where Title Like "%anything%"
> and Body Like "%anything"


а если полей мало, то можно

> SELECT * from Table WHERE title+" "+body LIKE "%search%";


хотя странно все это, почему при большом количестве полей не работает...
разницы то никакой



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.341 c
9-1083537442
TButton
2004-05-03 02:37
2004.08.29
Хранение данных


3-1091788451
Самовар
2004-08-06 14:34
2004.08.29
Удаление пустых записей в базе


6-1088582476
adLer
2004-06-30 12:01
2004.08.29
Создание чата


9-1068180617
Google
2003-11-07 07:50
2004.08.29
DELPHIX


3-1091441457
som
2004-08-02 14:10
2004.08.29
Фильтрация в DBGridEh