| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Как применить LIKE в запросе |
| Автор: Гость_Олег 10.1.2005, 09:47 |
| Мне нужно отобрать всё по условию. Пример: Поле "блюдо" В этой колонке - Салат Европейский - Салат Гамбургский - Салат домашний Мне нужно выбрать всё где есть слово 'салат'. Вот как я это делаю. db.OpenRecordset("SELECT Klient.id, Klient.блюдо FROM Klient WHERE (((Klient.блюдо) LIKE '%салат%'))") - не работает Подскажите как правильно! |
| Автор: Cetus 10.1.2005, 10:57 |
| если у тебя названия всех салатов начинаются со слова 'салат' то в LIKE напиши 'салат%' или на крайний случай Field LIKE 'салат%' or Field LIKE '%салат' |
| Автор: Kesh 10.1.2005, 13:13 |
| Используй такие функции, как UPPER и LOWER ... Обрати внимание, что слова "Салат", "салат" и "САЛАТ" для базы данных - разные слова... |
| Автор: sergejzr 10.1.2005, 13:13 |
| Олег, вроде там проблема в мускуле с кириллицей... И вот, посмотри ещё http://forum.vingrad.ru/index.php?showtopic=35771&hl=like |
| Автор: Kesh 10.1.2005, 13:14 | ||
Точно... и обрати внимание на дефолтовую кодировку... |
| Автор: Гость_Олег 10.1.2005, 18:09 |
| Я разобрался нужно вместо '%салат%' ставить '*салат*', так работает |
| Автор: Kesh 11.1.2005, 13:10 | ||
Странно, насколько я знаю стандарт ANSI SQL должно быть именно '%салат%' |
| Автор: Medved 11.1.2005, 13:57 | ||
Странно... первый раз такое вижу. |
| Автор: Kesh 11.1.2005, 16:50 |
| Интересно, а что это такое за средство программирования, которое раставляет так изменять SQL... |
| Автор: Mal Hack 11.1.2005, 16:57 |
| Может это специфика СУБД??? |
| Автор: <Spawn> 11.1.2005, 20:29 |
| Когда я работал с MySQL, то у меня все прекрасно было с %. Возможно, как это уже сказали выше, дело в кодировке. |