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

Вниз

ПРОБЛЕМА С 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1129296155
Sysanin
2005-10-14 17:22
2005.11.06
Проигрывание звука из DLL


3-1127318171
olevacho_
2005-09-21 19:56
2005.11.06
MySQL ODBC problems


2-1128965564
partizan
2005-10-10 21:32
2005.11.06
Чем отличаются object и class?


2-1129100144
Smolin
2005-10-12 10:55
2005.11.06
Вычитание дат


1-1129704794
Zhekson
2005-10-19 10:53
2005.11.06
Передача параметра





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский