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】Shopify Flowを使って不正リスクの高い注文を自動キャンセルする方法Read More
- ECサイト運営側から見たライアビリティシフトと3Dセキュア2.0について解説するRead More
- Shopifyのセキュリティ対策について魅力を語ってみるRead More
- 【セキュリティ】PHPの新たな脆弱性でサーバ破壊の危険性も ― 日常のメンテナンスの重要性Read More
- 【セキュリティ】あなたのサイトは大丈夫?JSライブラリ『Polyfill.io』が有害サイトへの誘導を行うマルウェアに…Read More
- 【Shopify】ブログカテゴリにメタフィールドでアップロードしたアイキャッチ画像を表示する方法Read More