Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка Illegal mix of collations 
:(
    Опции темы
MrDmitry
Дата 4.4.2014, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Пытаюсь выполнить такой запрос
Код

SELECT c.Client, c.Adres, c.Phone, s.* FROM `client` as c, `service` as s
where (s.DateCall  like '%и%' COLLATE utf8_unicode_ci) and (c.id=s.id_client) group by s.id order by s.id  limit 30 

но mysql выдает ошибку #1271 - Illegal mix of collations for operation 'like'
Как понимаю что это возникает из за поля s.DateCall которое в таблице определено как Date, но как исправить не знаю.
PM MAIL   Вверх
Akina
Дата 4.4.2014, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



CAST()


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MrDmitry
Дата 4.4.2014, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Код

SELECT c.Client, c.Adres, c.Phone, cast(s.DateCall as char(10)) FROM `client` as c, `service` as s
where (s.DateCall  like '%и%') and (c.id=s.id_client) group by s.id order by s.id  limit 30 

Таже самая ошибка
PM MAIL   Вверх
Akina
Дата 4.4.2014, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



То есть ты полагаешь, что использование CAST в выходном наборе неким волшебным образом изменит тип поля в выражении WHERE? 

PS. А какой смысл в поле с типом "дата" искать букву "и"?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MrDmitry
Дата 4.4.2014, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Оооо, спасибо большое. Смысла искать букву и в дате нет. Но заказчик хочет чтоб например при наборе в строку поиска(2014) ему вываливались данные с датой 2014, при этом поиск производится еще и по другим текстовым записям бд.

Код

SELECT c.Client, c.Adres, c.Phone, s.* FROM `client` as c, `service` as s
where (cast(s.DateCall as char(10))  like '%и%')  or (s.ResultCall  like'%и%') and (c.id=s.id_client) group by s.id order by s.id  limit 30 


поэтому и такой изврат с датой )
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.