Оператор преобразования MySQL IP IF не работает: недопустимое сочетание параметров сортировки

Я пытаюсь сделать это: http://sqlfiddle.com/.

Я получаю рор Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'if': SELECT dr.fqdn, IF(dr.type="CNAME",dr.value, INET_NTOA(dr.value) ) as dnsval FROM dns_record dr

Это не работает, потому что у меня таблица latin1.

Могу ли я сделать это без конвертации моей таблицы в utf8?

1 ответ

Решение

Пытаться:

SELECT 
dr.fqdn, 

IF(dr.type="CNAME",dr.value, CONVERT(INET_NTOA(dr.value) USING latin1) ) as dnsval

FROM dns_record dr

;

Поскольку вы не можете смешивать кодировку кодировки в операторе IF, например, IF (..., utf8, latin1).

SQL Fiddle: http://sqlfiddle.com/

Другие вопросы по тегам