请问,关于mysql的查询条件 aaa not like '%bbb%' 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 非常感谢那如果bbb中包含了%或者'应该怎么办呢?? 如果bbb中包含了%或者'也没有关系,也可以用aaa not like "%bbb%"查出来. 但是如果aaa包含了ddf%a和ddfaaa,我只想让他不选择第一个,那该怎么做?用 aaa not like "ddf%a" 的话,两个都出不来啊 那是当然出不来啊,,因为是 not like 呀,,要出来用 like 我想你没明白我的问题我需要的是精确的匹配 ddf%a 这个字符串,这里%不是通配符我的字段aaa中有两个值aaa----eeeddf%aeeeeeeddfaaeee我现在使用一个sql语句select * from table where aaa not like '%ddf%a%'希望返回aaa---eeeddfaaeee可是由于数据库将%当作通配符,所以没有返回值请问这个问题如何解决?? \% 转义一个“%”符。MySQL识别下列转义字符: \0 一个ASCII 0 (NUL)字符。 \n 一个新行符。 \t 一个定位符。 \r 一个回车符。 \b 一个退格符。 \' 一个单引号(“'”)符。 \" 一个双引号(“"”)符。 \\ 一个反斜线(“\”)符。 \% 一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。 \_ 一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。 注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。 有几种方法在一个字符串内包括引号: 一个字符串内用“'”加引号的“'”可以被写作为“''”。 一个字符串内用“"”加引号的“"”可以被写作为“""”。 你可以把一个转义字符(“\”)放在引号前面。 一个字符串内用“"”加引号的“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“'”加引号的与“"”也不需要特殊对待。 下面显示的SELECT演示引号和转义如何工作: mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';+-------+---------+-----------+--------+--------+| hello | "hello" | ""hello"" | hel'lo | 'hello |+-------+---------+-----------+--------+--------+mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";+-------+---------+-----------+--------+--------+| hello | 'hello' | ''hello'' | hel"lo | "hello |+-------+---------+-----------+--------+--------+mysql> SELECT "This\nIs\nFour\nlines";+--------------------+| ThisIsFourlines |+--------------------+ 如果你想要把二进制数据插入到一个BLOB列,下列字符必须由转义序列表示: NUL ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。 \ ASCII 92,反斜线。用'\\'表示。 ' ASCII 39,单引号。用“\'”表示。 " ASCII 34,双引号。用“\"”表示。 请查看FAQ,重新翻译并理顺了语句http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=16556 VC连不上本机mysql数据库…… mysql Got error 1 from storage engine Mysql 两地数据库同步 如何知道mysql分区时对应的哪个字段呢? mysql中有没有集簇索引 mysql数据库命名规则 关于Mysql 同步备份中 超难的问题 ^-^! mysql的奇怪错误,请大家帮 帮我啊 [求助]怎样把.SQL文件放到个人空间的数据库中? csdn总显示数据库繁忙(不好意思)请问那个命令可以改变mysql的密码?? 寻找中文教程!一定给分!!! 请问Linux下我的mysqlgui客户端为什么连不到mysql的服务端呢?该怎么办呢?
那如果bbb中包含了%或者'应该怎么办呢??
用 aaa not like "ddf%a" 的话,两个都出不来啊
我需要的是精确的匹配 ddf%a 这个字符串,这里%不是通配符我的字段aaa中有两个值
aaa
----
eeeddf%aeee
eeeddfaaeee我现在使用一个sql语句
select * from table where aaa not like '%ddf%a%'
希望返回
aaa
---
eeeddfaaeee可是由于数据库将%当作通配符,所以没有返回值请问这个问题如何解决??
转义一个“%”符。
MySQL识别下列转义字符: \0
一个ASCII 0 (NUL)字符。
\n
一个新行符。
\t
一个定位符。
\r
一个回车符。
\b
一个退格符。
\'
一个单引号(“'”)符。
\"
一个双引号(“"”)符。
\\
一个反斜线(“\”)符。
\%
一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。
\_
一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。
注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。 有几种方法在一个字符串内包括引号: 一个字符串内用“'”加引号的“'”可以被写作为“''”。
一个字符串内用“"”加引号的“"”可以被写作为“""”。
你可以把一个转义字符(“\”)放在引号前面。
一个字符串内用“"”加引号的“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“'”加引号的与“"”也不需要特殊对待。
下面显示的SELECT演示引号和转义如何工作: mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
+-------+---------+-----------+--------+--------+
| hello | 'hello' | ''hello'' | hel"lo | "hello |
+-------+---------+-----------+--------+--------+mysql> SELECT "This\nIs\nFour\nlines";
+--------------------+
| This
Is
Four
lines |
+--------------------+
如果你想要把二进制数据插入到一个BLOB列,下列字符必须由转义序列表示: NUL
ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。
\
ASCII 92,反斜线。用'\\'表示。
'
ASCII 39,单引号。用“\'”表示。
"
ASCII 34,双引号。用“\"”表示。
重新翻译并理顺了语句http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=16556