2008年7月14日

[pgsql-jp: 39497] Re:insensitiveな日本語検索

以前こんなことをしたことがあります。

where translate(query, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...') =
translate(name, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...')

見にくいですが。


原田

2008/07/14 11:44 陶山 泰 <postgrml@xxxxx>:
> 山下さん、こんにちは。陶山です。
>
> 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 = 'トマト';
> とします。
>

--
Hitoshi Harada


投稿者 xml-rpc : 2008年7月14日 13:25
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75266
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。