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

  • このエントリーをはてなブックマークに追加
  • Pocket

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

ご訪問ありがとうございます。
参考になりましたら『いいね!』もお願いします。

ITの活用情報を毎週お届けする無料メルマガに是非ご登録ください。

閉じる

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

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

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