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] ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング
ジャレッド・バーティ, ザッカリー・サラ・コ―ライセン (単行本)