• SQL系列(七)—— 相似(like)


    在看like之前先了解下通配符和搜索模式:

    通 配 符 ( wildcard) 用来匹配值的一部分的特殊字符。

    搜索模式(search pattern) 由字面值、通配符或两者组合构成的搜索条件。

    目前SQL中支持多种通配符:

    • 百分号%通配符:匹配任意字符任意次数。但是不支持匹配NULL值
    • 下划线_通配符:匹配任意字符一次。

    注:百分号%,绝大多数DBMS都支持;下划线_,少量的DBMS不支持。

    一般说道通配符,搜索模式,都会和转义符息息相关,在SQL中和大多数场景中的转义符一样,使用反斜杆:

    select * from student where name like 'xiao\%h%';
    

    结果:

    name
    'xiao%huang'

    上述SQL中第一个%被转义,在搜索条件中就是用来匹配%;第二个%表示通配符,匹配任意字符任意次。

    1.like关键字

    上述了解到SQL中使用利用通配符组合搜索模式进行模糊匹配,在SQL中如何应用搜索模式是通过like关键字,语法:

    select column1, column2...columnN from table_name where columnJ like pattern;
    

    由以上语法可以看出,like是where的子句,且后接搜索模式。

    select * from student where name like 'x%n'
    

    如上述检索表示:查询name中的以x开头,n结尾的student,结果:

    name
    xiaolan

    从以上可以看出,在SQL中的搜索模式的功能非常强大。但是事物的两面性决定,搜索模式有其缺点:

    • like的模糊匹配相对于严格的值匹配的能够精准搜索,性能略低;
    • like的应用场景有时会使得索引失效
    参考

    《SQL必知必会》

  • 相关阅读:
    Oracle错误——ORA-12704:字符集不匹配
    nodejs 错误问题解决
    windows 卸载 node.js 怎么卸载搜索
    Git安装配置及基本使用(windows)
    破解photoshop cs6 mac
    将text中的数字转换为字符串
    JavaScript 为什么不推荐使用 eval?
    Permission denied (publickey).
    linux 命令
    恢复 git reset -hard 的误操作
  • 原文地址:https://www.cnblogs.com/lxyit/p/9316556.html
Copyright © 2020-2023  润新知