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 に答える