在列中输入像“a%`这样的条目作为列的条目

时间:2016-10-05 17:19:14

标签: mysql

我希望查询返回包含以下条目的列的行:

  

abcda%aaa,pa%rdeep,sonisa%b等。

尝试使用以下但未获得所需结果。

select * from table where column like "%a%%"

我想要正确替换上面的内容,以便只搜索那些"a%"的行作为表中列的条目,而不是那些以。开头的行。

2 个答案:

答案 0 :(得分:2)

  

如果您想要转义%,那么您必须使用反斜杠\

SELECT * FROM table_name WHERE `column_name` LIKE '%a\%%'.

<小时/> 参考

答案 1 :(得分:1)

create table j1
(   id int auto_increment primary key,
    thing varchar(100) not null
);

insert j1(thing) values ('abcda%aaa'),('fish'),('pa%rdeep'),('cat'),('sonisa%b'),('a'),('a\\%');


select * from j1 where thing like '%a\%%';
+----+-----------+
| id | thing     |
+----+-----------+
|  1 | abcda%aaa |
|  3 | pa%rdeep  |
|  5 | sonisa%b  |
+----+-----------+

请参阅MySQL String Literals