[前][次][番号順一覧][スレッド一覧]

mysql:1298

From: "Isamu Narimatsu" <"Isamu Narimatsu" <isamu@xxxxxxxxxx>>
Date: Wed, 10 Nov 1999 10:37:01 +0900
Subject: [mysql 01298] % を使用したマッチについて

成松です。
Win98 + Apache + MySQL + Perl を利用してます。

テーブル sems は以下のようになっています。
+--------+------------------+------+-----+---------+----------------+
| Field  | Type             | Null | Key | Default | Extra          |
+--------+------------------+------+-----+---------+----------------+
| msg    | text             | YES  |     | NULL    |                |
+--------+------------------+------+-----+---------+----------------+

ここに insert into sems set msg='2\%'; をしました。

insert into sems set msg='2\%'; をすると

+------+
| msg  |
+------+
| 2\%  |
+------+

になります。 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 となりました。次に

$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  となりました。次に

$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  となります。

変数 $test の値はどのようにすれば良いのでしょうか?


[前][次][番号順一覧][スレッド一覧]

->    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]