2012-11-20 4 views
1

나는 이것을하려고합니다 : http://sqlfiddle.com/#!2/a13fc/2.MySQL의 IP 변환 IF 문이 작동하지 않습니다 : 조합의 조합이 잘못되었습니다

은 내가 rror 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

내 테이블 라틴이기 때문에 그것은 작동하지 않습니다납니다.

테이블을 utf8로 변환하지 않고도이 작업을 수행 할 수 있습니까?

답변

1

보십시오 : 당신이 IF처럼 IF 문에서 charset 인코딩을 혼합하지 않을 수 있습니다으로

SELECT 
dr.fqdn, 

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

FROM dns_record dr 

; 

(..., UTF8, 라틴).

SQL 피들 : http://sqlfiddle.com/#!2/a13fc/9

+0

감사합니다. – Karlo