created: 2020-09-23T07:56:21.000Z

MySQLでマルチバイト文字が入ったレコードだけ取得する

マルチバイト文字が入ってそうなカラムの文字列を CONVERT(x USING ASCII) して、元の文字列と差分があれば NOT ASCII な文字列が入っていると判断できる。

t.s がマルチバイト文字がはいってそうなカラムだとするとこんな感じになる

SELECT * from t where s <> CONVERT(s USING ASCII);

参考

詳説 データベース ―ストレージエンジンと分散データシステムの仕組み
[ad] 詳説 データベース ―ストレージエンジンと分散データシステムの仕組み
Alex Petrov, 小林 隆浩 (単行本(ソフトカバー))