mysql:1306
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 10 Nov 1999 13:09:18 +0900
Subject: [mysql 01306] Re: % を使用したマッチについて
とみたです。 At Wed, 10 Nov 1999 12:40:58 +0900, Isamu Narimatsu <isamu@xxxxxxxxxx> wrote: > $test='%2\\\\\%%'; > > でマッチしました。 > でもなぜだか全然わかりません。 そういえばずっと前に自分でメール出してました。忘れてた…(^^; At Mon, 02 Feb 1998 14:14:29 +0900, 民斗 <tommy@xxxxxxxxxx> wrote: > > 民斗です。 > > ちょっとはまってしまったことがあったので、報告します。 > # 既にご存じかもしれませんが…。 > > それは「LIKE 演算子で "\" を検索したい時は "\\\\" と書かなければいけない」 > ということです。 > > 「〜 where 項目名 like "%\\%"」とすると「"%" で終わる文字列」に適合して > しまいます。 > > 「〜 where 項目名 like "%\\\\%"」とすると「"\" を含む文字列」に適合します。 > > MySQL のソースを追ってみたところ次のような動きみたいです。 > > 入力 "%\\%" "%\\\\%" > 値 "%\%" "%\\%" > LIKE処理 %で終わる文字列 \を含む文字列 > > わかってみれば、「あ〜そうか」なんですが、MySQL のバグかと疑ってしまい > ました…(^^; > > なお、LIKE 演算子のパラメータでなければ(例えば 項目名="\\" とかでは)、 > 普通に "\\" が "\" として働きます。念のため…。 > -- > 民斗 <tommy@xxxxxxxxxx> -- とみたまさひろ <tommy@xxxxxxxxxx>
1305 1999-11-10 12:40 ["Isamu Narimatsu" <i] RE: % を使用したマッチについて -> 1306 1999-11-10 13:09 ┗[とみたまさひろ <tomm]