[pgsql-jp: 29863] Postgresでの日本語検索

Ogino ogino @ sic.co.jp
2003年 5月 13日 (火) 18:15:19 JST


はじめまして。PostgreSQLメーリングリスト
に入ったばかりの、荻野といいます。
どうぞよろしくお願いします。

今、Postgresを使っていて、奇妙な問題に直面しており、
お力を借りたく投稿しています。

テーブルのカラムに、日本語の読み仮名が入っています。

(例 : Testテーブル)
name     kana
----------------
荻野     おぎの
山田   やまだ
大森   おおもり
岩瀬   いわせ


これを、カナの先頭の文字ごとにグループ化して
取り出したいと思っています。
例えば、先頭が「か」からはじまる物なら

select * from Test where substr(kana ,1,1) >='か'
   and substr(kana,1,1) < 'き'

というようなSQLを発行しています。
しかし、このとき、上記のSQLでは期待した通りの
結果を得ることができません。

**実際の結果****'

select * from KEYWORD  where substr(kana,1,1) >= 'み'
 and substr(kana,1,1) < 'む'   order by kana ASC;

 key_id | keyword  |      kana
--------+----------+----------------
     21 | 足の痛み | あしのいたみ
     31 | 飲料水   | いんりょうすい
     22 | 塩分     | えんぶん
     24 | 海外     | かいがい
     27 | 呼吸     | こきゅう
     20 | 食道炎   | しょくどうえん
      2 | 症状     | しょうじょう
     23 | 心臓     | しんぞう
     12 | 咳       | せき
      8 | 体脂肪率 | たいしぼうりつ
     28 | 負荷試験 | ふかしけん
     13 | 保険     | ほけん

ここでは、「み」からはじまるカラムがほしいのに、
わけのわからないものが選択されてしまいます。
なにか、ご存知の方がいましたら、ご教授ねがえないでしょうか?

Postgresは、7.3.2を使っています。
RedHatLinux8.0上で動作しております。

お手数かと思いますが、よろしくお願いします。









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