[pgsql-jp: 33959] Re: 五十音順検索

Magara Yasuhiro gama @ lifemedia.co.jp
2004年 9月 1日 (水) 20:37:24 JST


まがら@ライフメディアです。

>>>>> In <20040901180456.D853.ICC10325 @ nifty.com> 
>>>>>	 wrote:
> テーブル内に全角カタカナのみが入力されたカラム(カラム名例:hurigana)
> が存在して、そのカラムのデータに対して五十音検索を行いたいと考えており
> ます。
> (ア行・カ行・・・)

> 皆さんはこのような場合どのようなSQLを記述しますか?

 平仮名で似たような事をしていますが、単純な文字列比較で範囲を指定しています。
SQLでなくてJBoss-QLで書いてますが、

 @jboss.query 
    signature="java.util.Collection findByNameRange(java.lang.String from, java.lang.String to)"
    query="SELECT OBJECT(a) FROM authorSchema AS a WHERE a.furigana >= ?1 AND a.furigana < ?2 ORDER BY a.furigana"

で意図した動作をしています。
 「あ行」の時は、fromに'あ', toに'か'を与えています。

>>>>> In <20040901194301.D860.ICC10325 @ nifty.com> 
> しかも「ア行」と言われたら「ァィゥェォ(全角カタカナのア行小文字?)」
> も一応考えないといけないかも?・・・とか考えるとパニック状態です・・・

  UnicodeやJISなら、文字コード順に「ァアィイゥウェエォオ
カガキギクグケゲコゴ...」と並んでいるようですので、案外簡単に
できると思います。カ行とガ行を分けろと言われたら悩んじゃいますね。

-- 
眞柄 康弘 (Magara Yasuhiro)
@ 株式会社ライフメディア  http://www.lifemedia.co.jp/
                 携帯書房 http://ktai.lifemedia.jp/shobo/



pgsql-jp メーリングリストの案内