我希望查询返回包含以下条目的列的行:
abcda%aaa,pa%rdeep,sonisa%b等。
尝试使用以下但未获得所需结果。
select * from table where column like "%a%%"
我想要正确替换上面的内容,以便只搜索那些"a%"
的行作为表中列的条目,而不是那些以。开头的行。
答案 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