[pgsql-jp: 39498] Re: insensitiveな日本語検索
山下 雄大
yamashita @ media-labo.co.jp
2008年 7月 14日 (月) 13:04:46 JST
山下です。
陶山さん、原田さん、情報ありがとうございます。
translateを使う方法でやってみます。
ありがとうございました。:−)
H.Harada さんは書きました:
> 以前こんなことをしたことがあります。
>
> where translate(query, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...') =
> translate(name, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...')
>
> 見にくいですが。
>
>
> 原田
>
> 2008/07/14 11:44 陶山 泰 <postgrml @ suyama.net>:
>
>> 山下さん、こんにちは。陶山です。
>>
>> Mon, 14 Jul 2008 11:36:58 +0900 の
>> [pgsql-jp: 39495] Re: insensitiveな日本語検索
>> に関するメールについてのお返事です。
>>
>> 山下 雄大> やはりクライアントアプリケーション or
>> 山下 雄大> サーバアプリケーション上でユーザより入力された値を
>> 山下 雄大> もとに
>> 山下 雄大>
>> 山下 雄大> where name ~ '[とト][まマ][とト]'; (適当)
>> 山下 雄大> where name ~ '^[とト][まマ][とト]$'; (厳密)
>> 山下 雄大> where name ~ '^(トマト|とまと|トマと)$';(別解)
>> 山下 雄大>
>> 山下 雄大> のような文を作成しないとダメみたいですね。
>> 山下 雄大>
>> 山下 雄大> もっと楽できないものかと思っておりました :-(
>>
>> 私だったら(というかみんなそうだと思うけど)
>> クライアントアプリケーション or
>> サーバアプリケーション上でユーザより入力された値を
>> もとに
>> 'トマト' → 'トマト' (無変換)
>> 'とまと' → 'トマト'
>> 'トマと' → 'トマト'
>> とすべての文字をカタカナに変換しておき、
>> where name = 'トマト';
>>
>> もしくは
>> データ入力時に専用桁(例えば keyVal)(DB作成時に作成)に、同じ変換を
>> 施した値を格納しておき
>> where keyVal = 'トマト';
>> とします。
>>
>>
>
>
>
>
--
――――――――――――――――――――
株式会社メディアラボ
システム開発部 山下 雄大
E-mail:yamashita @ media-labo.co.jp
〒190-0012
東京都立川市曙町2-32-8
URL http://www.Media-Labo.co.jp
TEL:042-523-1340 FAX:042-523-7095
――――――――――――――――――――
pgsql-jp メーリングリストの案内