mysql:38
From: "民斗 " <"民斗 " <tommy@xxxxxxxxxx>>
Date: Mon, 02 Feb 1998 14:14:29 +0900
Subject: [mysql 38] "\" in LIKE
民斗です。 ちょっとはまってしまったことがあったので、報告します。 # 既にご存じかもしれませんが…。 それは「LIKE 演算子で "\" を検索したい時は "\\\\" と書かなければいけない」 ということです。 「〜 where 項目名 like "%\\%"」とすると「"%" で終わる文字列」に適合して しまいます。 「〜 where 項目名 like "%\\\\%"」とすると「"\" を含む文字列」に適合します。 MySQL のソースを追ってみたところ次のような動きみたいです。 入力 "%\\%" "%\\\\%" 値 "%\%" "%\\%" LIKE処理 %で終わる文字列 \を含む文字列 わかってみれば、「あ〜そうか」なんですが、MySQL のバグかと疑ってしまい ました…(^^; なお、LIKE 演算子のパラメータでなければ(例えば 項目名="\\" とかでは)、 普通に "\\" が "\" として働きます。念のため…。 -- 民斗 <tommy@xxxxxxxxxx>