mysql:1301
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 10 Nov 1999 11:12:14 +0900
Subject: [mysql 01301] Re: % を使用したマッチについて
とみたです。 At Wed, 10 Nov 1999 10:37:01 +0900, Isamu Narimatsu <isamu@xxxxxxxxxx> wrote: > Perl を使用してワイルドカードを使用して 2\% にマッチさせようと > して > > $statement="select msg from sems where msg like '%2\%%'"; > $sth=$dbh->prepare($statement); > $rv=$sth->execute; > print "RV is $rv"; > > としたら RV is 1 となりました。次に Perl は詳しくないんで execute の戻り値の 1 とか 0E0 ってものの意味はわか らないんですが、この「'%2\%%'」は "" 中にあるので、Perl が「\」を喰っちゃっ て、「'%2%%'」と解釈されちゃいませんか? > $test='2\%'; > $statement="select msg from sems where msg like '%$test%'"; > $sth=$dbh->prepare($statement); > $rv=$sth->execute; > print "RV is $rv"; > > としたら、 RV is 0E0 となりました。次に で、この場合は「'2\%'」がちゃんと MySQL にわたると思うんですが、今度は LIKE が「\」を喰っちゃって、「2%」を含む文字列を検索しちゃうと思います。 > 変数 $test の値はどのようにすれば良いのでしょうか? $test='2\\\%' としてみてはどうでしょう? -- とみたまさひろ <tommy@xxxxxxxxxx>
1298 1999-11-10 10:37 ["Isamu Narimatsu" <i] % を使用したマッチについて 1299 1999-11-10 10:55 ┣[Seiji Tateyama <tate] 1300 1999-11-10 11:06 ┃┗[Seiji Tateyama <tate] 1303 1999-11-10 11:25 ┃ ┗[Seiji Tateyama <tate] -> 1301 1999-11-10 11:12 ┣[とみたまさひろ <tomm] 1302 1999-11-10 11:22 ┗[山中 茂樹 <yshigeki]