[pgsql-jp: 26537] Re: % で始まる文字の LIKE 検索
Satoshi Nagayasu
snaga @ oak.forus.or.jp
2002年 6月 29日 (土) 18:09:00 JST
永安です。
Hajime Lucky Okada wrote:
> 岡田と申します。 お世話になっております。
>
> そこで、、、「4.5.1. LIKE述語を使用したパターンマッチング」
> http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/functions-matching.html
> に基づき、「アンダースコアやパーセント記号そのものをパターンマッチさせたい場合は
> patternの文字1字づつエスケープ文字で 指定する必要があります。」ということで、
> '%' 自身を表すため \ でエスケープさせ '\%'、不定文字列を表すため '%' を付加して
> 検索してみます。
「バックスラッシュをエスケープしたものでパーセントをエスケープする」ことが
必要のようです。
snaga=# select * from t1;
c | t
---+----------
1 | まつたけ
2 | %test
3 | しいたけ
(3 rows)
snaga=# select * from t1 where t like '\\%%';
c | t
---+-------
2 | %test
(1 row)
snaga=#
おそらく、これがお望みの結果だとは思うのですが、この挙動が正しいのかどうかは
よく分かりません。
マニュアルにも、もうちょっと詳しく例示されていると嬉しいですね。
--
NAGAYASU Satoshi <snaga @ oak.forus.or.jp>
pgsql-jp メーリングリストの案内