Posted at: 2022-07-17
MySQLのORDER BY句を使ってカタカナ五十音順にソートする方法

MySQLでORDER BY句を使ってカタカナ(半角全角無視)の値をソートする方法をまとめます。
完全に自分用メモみたいなものなので、もし同じくカタカナ五十音ソートしたい方の参考になれば幸いです。
カタカナソートに対応させるためズバリ答えのSQL文
select * from users order by cast(kana as char) collate utf8mb64_unicode_ci asc;
ポイントになるのは2点で、ソートの対象とするカラム「kana」をchar型にCASTする点が一つ。
もう一点は、「kana」の称号順序をutf8mb64_unicode_ciにしてあげることです。
僕の場合、基本的に文字コードはutf8mb64_general_ciに統一しているため、今回はSQL文の中でSQL実行時にutf8mb64_unicode_ciの称号順序で値を取得してあげるようにしました。
照合順序が違うことで正しく五十音順でデータを取得できなくなりますので、ここんとこ注意です。
参考サイト
MySQL 日本語(マルチバイト)文字をソート(ORDER BY)する
mysqlでカナでソートしたら濁音の並びがおかしかったので対策
こんな記事もオススメ
【Shopify Flow】在庫切れした商品を自動で非アクティブ(アーカイブ)にする方法
Read More【Shopify Flow】不正リスクの高い注文を自動キャンセルする方法
Read MoreECサイト運営側から見たライアビリティシフトと3Dセキュア2.0について解説する
Read MoreShopifyのセキュリティ対策について魅力を語ってみる
Read More【セキュリティ】PHPの新たな脆弱性でサーバ破壊の危険性も ― 日常のメンテナンスの重要性
Read More【セキュリティ】あなたのサイトは大丈夫?JSライブラリ『Polyfill.io』が有害サイトへの誘導を行うマルウェアに…
Read More