【当ブログではアフィリエイト広告を利用しています】

[SQL] フリガナから検索用のインデックスを作る

attention この記事は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に利用すれば、検索インデックス用のカラムとして登録できます。

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。