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

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>

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