zoukankan      html  css  js  c++  java
  • 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必知必会》

  • 相关阅读:
    隧道适配器,本地连接过多的解决办法
    C# 遍历HashTable
    sql2005 数据库转为sql 2000数据库的步骤
    自动扫描IP代理地址和自动切换IP的软件
    JS实现网页图片延迟加载[随滚动条渐显]
    批量修改hosts
    C#.NET获取当前月份最大天数
    如何让js调用不影响页面的加载速度?
    在sql中如何替换去掉回车符?
    Linq(01)对Linq的疑问及学习路径
  • 原文地址:https://www.cnblogs.com/lxyit/p/9316556.html
Copyright © 2011-2022 走看看