我希望查询返回列中包含如下项的行:aaa%aaa,pa%rdeep,sonisa%b等。尝试使用以下命令,但没有得到预期的结果。
select * from table where column like "%a%%"
我想要上面的正确替换,以便只搜索那些具有 "a%" 作为表中列的条目,而不是以a开头的条目。
"a%"
z18hc3ub1#
如果你想逃跑 % 那你得用反斜杠 \ ```SELECT * FROM table_name WHERE column_name LIKE '%a%%'.
%
\
column_name
参考 字符串比较函数 使用“%”的sql“like”查询,其中搜索条件包含“%”
nnsrf1az2#
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字符串文本
2条答案
按热度按时间z18hc3ub1#
如果你想逃跑
%
那你得用反斜杠\
```SELECT * FROM table_name WHERE
column_name
LIKE '%a%%'.nnsrf1az2#
请参阅mysql字符串文本