山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

MySQLで文字コードが異なるテーブルをjoinする

今日もMySQL Tipsです。


こんなエラーが出ました。

Error Code: 1267. Illegal mix of collations (eucjpms_japanese_ci,IMPLICIT) and (ujis_japanese_ci,IMPLICIT) for operation '='

どうも文字コードが異なるテーブルを結合させようと

するとこうなるようです。

OracleだとDBインスタンス単位で文字コード

1つだけなのでこういうことは起こりません。


文字コード変換することでjoinできました。

こんな具合です。convert関数を使います。

from VTBL_JUCHUU_OSX t1
join TBL_LOG_JUCHUU t2 on t2.juchuu_id=convert(t1.juchuu_id using utf8)


しかしデータを見るといろいろなことが

わかりますね。

いろいろな新しい打ち手のアイデア

出てきました。