• ベストアンサー

”あかさたな”で検索したい

お世話になります。 会社名と会社名フリガナがフィールドに存在しています。 そこで、”あかさたなはまやらわ全”で該当するレコードを 検索したいのですが、どのようなクエリを発行すればよいのか 解りません。 どなたか、ご教示いただけませんでしょうか。 よろしくおねがいしますT-T 例: フォームには、”あかさたなはまやらわ全”11個のボタンが付いて おりクリックすると、検索結果が表示される。 環境: C#,MySql

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

一番効率がいいのは 会社名フリガナフィールドの他に一文字フリガナフィールドをつくって 登録することです。 そうでないなら、カ行なら (`フリガナ` LIKE 'カ%' OR `フリガナ` LIKE 'キ%' OR ・・・) のようにするのがSQL的には効率的です。 ただし濁音・半濁音がある場合は列記する必要があります もちろんフリガナの最初の一文字をとって left(フリガナ,1) IN ('カ','キ','ク','ケ','コ') のような書き方もできますが、インデックスが効かない分スピードは遅いです。 (データ数が数千件レベルならこれでも十分いけるとおもいます)

hornest
質問者

お礼

ありがとうございます! 処理速度の面とか、本当に勉強になりました!

その他の回答 (1)

回答No.1

たとえば'か'の場合 WHERE 会社名フリガナ >= 'か' AND 会社名フリガナ < 'さ' です。 '全'のばあいはWHERE以下なしです。

関連するQ&A