[pgsql-jp: 39496] Re: insensitiveな日本語検索
陶山 泰
postgrml @ suyama.net
2008年 7月 14日 (月) 11:17:58 JST
山下さん、こんにちは。陶山です。
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 = 'トマト';
とします。
pgsql-jp メーリングリストの案内