За последние 24 часа нас посетили 18067 программистов и 1651 робот. Сейчас ищут 2145 программистов ...

Оператор like... чего-то недопонимаю?

Тема в разделе "Вопросы от блондинок", создана пользователем hellhammer, 12 сен 2007.

  1. hellhammer

    hellhammer Активный пользователь

    С нами с:
    2 сен 2007
    Сообщения:
    42
    Симпатии:
    0
    Здравствуйте!

    Весьма странно работает оператор like.
    К примеру, нужно выбрать всех юзеров, имена которых начинаются на E (латинское).
    Соответственно, запрос: select * from users where name like "E%"
    Но этот запрос возвращает пользователя Иван Иванов (пользователей с фамилией на E в базе нет).

    Запрос select * from users where name like "I%" чудесным образом возвращает Петра Петрова.

    select * from users where name like "%аб%" - возвращает двоих пользователей, у которых сочетания "аб" в имени явно нет.

    Проверил на всякий случай эти запросы через саму СУБД - то же самое.
    Не подскажете, с чем может быть связано столь странное поведение?
     
  2. hellhammer

    hellhammer Активный пользователь

    С нами с:
    2 сен 2007
    Сообщения:
    42
    Симпатии:
    0
    Кстати... в бд стоит кодировка latin1. Есть подозрения, что связано именно с этим. Но как устранить?
     
  3. Anonymous

    Anonymous Guest

    Некорректные кодировки/collations у базы/таблиц.
    Установить коректные кодировки, как это ни странно.