MySQL like 如何查询包含'%'的字段 (ESCAPE用法)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43054397/article/details/91380240

在SQl like语句中,比如

SELECT * FROM user WHERE username LIKE '%luchi%'
SELECT * FROM user WHERE username LIKE '_luchi_',
  • % 作为通配符通配多个
  • _ 作为通配符通配一个

但当like 所要查询的字段中含有 % ,我们如何去查:

这个时候就需要指明 字段中的那个’%‘ 不作为通配符;
这里就需要用到 ESCAPE 转义

测试:
  • 这里我们使用这张表
    lchh
  • 转义前:
    SELECT * FROM user WHERE username LIKE '%%%';
    

    这里会发现三个%号都被当做通配符了;
  • 转义后:
    SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1';
    

    查询成功
    注:
    • ESCAPE 后面跟着一个字符,里面写着什么,什么就是转义符;
    • 然后就像 C语言中转义字符一样 例如 ‘\n’,’\t’, 把这个字符写在你需要转义的那个%号前就可以了;

猜你喜欢

转载自blog.csdn.net/weixin_43054397/article/details/91380240