Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > кривой поиск подстрок с "LIKE"


Автор: Анальгин 15.3.2006, 16:32
Хочу получить из таблицы по полю base /varchar(150)/ все записи начинающиеся на 'Кн'


Код

SELECT * FROM base WHERE NAME LIKE 'Кн%'


В итоге получаю:

Комплект цоколя 3П (NS100/250)
Имп.реле TL 1П 16А CDE 230/240
Кнопка управления 1о + световой сигнализатор красн
Комплект трехполосн.шин 63А
Контактор D 3Р, 15A
.....
.....


А хотелось получить только "Кнопки". Дело в кривых руках или mySQL ?

Использовал phpMyAdmin

Автор: Анальгин 15.3.2006, 17:23
Странно, но если искать например, "авт", то выдает все автоматы или "диф", то получаю только "Дифф.выключатели".... а вот с "кн" ерунда выходит

Автор: oksale 15.3.2006, 17:28
Попробуй так:

Код

SELECT * FROM base WHERE NAME LIKE BINARY 'Кн%'


Если не поможет, почитай http://www.sql.ru/faq/faq_topic.aspx?fid=152.

Автор: Ignat 15.3.2006, 17:31
А так?

Код

SELECT * FROM base WHERE NAME LIKE BINARY 'Кн%'


или так:

Код

SELECT * FROM base WHERE NAME LIKE 'Кн%' COLLATE cp1251_bin

Добавлено @ 17:31
oksale, опередил =))

Автор: Анальгин 15.3.2006, 17:32
Спасибо. Так работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)