Оператор преобразования 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/