首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql查询时关于结果集中存在_\有关问题如何解决

2012-03-13 
mysql查询时关于结果集中存在_~\问题怎么解决select * from userInfo where uname like %TT% 查询出来的

mysql查询时关于结果集中存在_~\问题怎么解决
select * from userInfo where uname like '%TT%' 查询出来的结果是ok的
但是如果是select * from userInfo where uname like '%T_T%' 结果中就有问题,包括 like '%san~%' 和 like '%gren\%'
userInfo表中 uname 的值有 TTai t_t 0T_T0 san~qiang sanqiang gerenyouxi gren\youxi

[解决办法]
\~和\\,转义都是用斜杠
[解决办法]
通配符 描述 
% 替代一个或多个字符 
_ 仅替代一个字符 
[charlist] 字符列中的任何单一字符 
[^charlist]

或者

[!charlist]
 不在字符列中的任何单一字符 

[解决办法]
~ 应该不需要,你直接查。

\ 改成 \\ like '%gren\\%'
[解决办法]

SQL code
mysql> create table test(a varchar(30));Query OK, 0 rows affected (0.34 sec)mysql> insert into test values('TTai'), ('t_t'), ('0T_T0'), ('san~qiang'), ('sanqiang'), ('gerenyouxi'), ('gren\\youxi');Query OK, 7 rows affected (0.08 sec)Records: 7  Duplicates: 0  Warnings: 0mysql> select * from test;+------------+| a          |+------------+| TTai       || t_t        || 0T_T0      || san~qiang  || sanqiang   || gerenyouxi || gren\youxi |+------------+7 rows in set (0.02 sec)mysql> select * from test where a like '%T_T%';+-------+| a     |+-------+| t_t   || 0T_T0 |+-------+2 rows in set (0.00 sec)mysql> select * from test where a  like '%san~%';+-----------+| a         |+-----------+| san~qiang |+-----------+1 row in set (0.00 sec) 

热点排行