この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
データベースのテーブルでフリガナの項目があった時に、「あ行」等のグルーピングを行うためのSQL文です。
SELECT ~ Canna AS フリガナ, CASE WHEN Canna LIKE '[あ-おア-オ]%' THEN 'あ' WHEN Canna LIKE '[か-こカ-コガ-ゴ]%' THEN 'か' WHEN Canna LIKE '[さ-そサ-ソザ-ゾ]%' THEN 'さ' WHEN Canna LIKE '[た-とタ-トダ-ド]%' THEN 'た' WHEN Canna LIKE '[な-のナ-ノ]%' THEN 'な' WHEN Canna LIKE '[は-ほハ-ホバ-ボパ-ポ]%' THEN 'は' WHEN Canna LIKE '[ま-もマ-モ]%' THEN 'ま' WHEN Canna LIKE '[や-よヤ-ヨ]%' THEN 'や' WHEN Canna LIKE '[ら-ろラ-ロ]%' THEN 'ら' WHEN Canna LIKE '[わ-んワ-ン]%' THEN 'わ' ELSE '他' END AS インデックス FROM ~
PHPなどのプログラムからSQL文を投げて利用するのも良いでしょう。
ビューを登録するSQLに利用すれば、検索インデックス用のカラムとして登録できます。