Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизПРОБЛЕМА С LIKE "A%" И LIKE "A" Найти похожие ветки
← →
AlexLines (2005-10-12 06:12) [0]Пишу запрос
Query1.SQL.Add("SELECT * From Main.db Where BodyMemo LIKE
"%А%" "); - работает
LIKE "А%" ИЛИ LIKE "А" НЕ РАБОТАЕТ
В ЧЕМ МОЖЕТ ЗАКЛЮЧАТЬСЯ ПРОБЛЕМА
СПАСИБО
← →
Alexandr © (2005-10-12 07:33) [1]А В ЧЕМ ОНА У ТЕБЯ ВООБЩЕ?
← →
AlexLines (2005-10-12 08:28) [2]Как это в чем - ищет любые сочетания букв like "%sol%", точное слово не ищет like "Absolut", и не ищет последовательность букв справа like "Abs%"
← →
Alexandr © (2005-10-12 08:31) [3]1) регистр символов?
2) буква А - руская, а ищем аглицкую?
3) пробел перед словом?
ну и т.п.
← →
AlexLines (2005-10-12 08:33) [4]1) все строчные
2) ни русская ни английская не проходит
3) пробела перед символом нет
← →
AlexLines (2005-10-12 08:54) [5]Я понял в чем проблема, однако это мне не понятно. В том случае, если like "%abs%" ищет cлова по всему полю мемо, то like "abs%" находит только первое слово поля мемо, а остальные совпадения игнорирует.
Почему так происходит?
Спасибо
← →
sniknik © (2005-10-12 09:02) [6]> Почему так происходит?
так было задумано.
маска из букв это точное сравнение, процент это любая строка, если точное сравнение стоит в начале маски то логично, что это сравнивается с началом строки.
а ты как думал должно сравнивать?
← →
AlexLines (2005-10-12 09:05) [7]Если точное сравнение попадает на второе слово в поле, то поиск уже не работает
← →
Reindeer Moss Eater © (2005-10-12 09:06) [8]то like "abs%" находит только первое
Потому что только первое слово может начинаться на "abs"
Все остальное как минимум начинается с пробела или разделителя.
← →
sniknik © (2005-10-12 09:13) [9]> AlexLines (12.10.05 09:05) [7]
LIKE работает/сравнивает с маской для строки а не для слов в строке. (и это правильно. это хорошо. если подумать... ;о)
← →
AlexLines (2005-10-12 09:18) [10]А где можно почитать, как построить маску для поиска точного слова в БД?
← →
AlexLines (2005-10-12 09:26) [11]Спасибо! Думаю, что разобрался, однако ссылка на доп. литературу не помешает!
← →
Reindeer Moss Eater © (2005-10-12 09:29) [12]where fieldname like "%точное слово в бд%"
← →
AlexLines (2005-10-12 09:35) [13]Почему так, думаю что необходимо поставить пробелы "% ИВАНОВ %". В ЭТОМ СЛУЧАЕ БУДЕТ НАЙДЕНА ФАМИЛИЯ ИВАНОВ. А НЕ ИВАНОВА ЕСЛИ ИСКАТЬ БЕЗ ПРОБЕЛОВ И Т.Д.
← →
Desdechado © (2005-10-12 10:33) [14]чтобы не морочиться с LIKE, достаточно данные структурировать и раскидать по таблицам и полям, а не городить длинную бессымсленную строку, по которой пытаться искать со "смыслом"
почитай, как работает LIKE, если уж ничего менять не хочешь
там есть много нюансов
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c