1

我正在尝试这样做:http ://sqlfiddle.com/#!2/a13fc/2 。

我得到了错误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 的情况下完成这项工作吗?

4

1 回答 1

1

尝试:

SELECT 
dr.fqdn, 

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

FROM dns_record dr

;

因为您不能在 IF(..., utf8, latin1) 之类的 IF 语句中混合字符集编码。

SQL 小提琴:http ://sqlfiddle.com/#!2/a13fc/9

于 2012-11-20T09:09:42.973 回答