• SQL Server Like 与 通配符


    LIKE 操作符

    1. LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
      演示:执行SQL,
    	SELECT 
    		StudentID
    	        ,StudentName
    	        ,ID
      	FROM [BlogDemo].[dbo].[Student]
    

    得到结果如下:
    在这里插入图片描述
    如果我们要查找StudentName中含有的学生信息,就要使用Like关键字来搜索,SQL如下,这里的%%为通配符,下面会详细介绍

    SELECT StudentID
          ,StudentName
          ,ID
      FROM [BlogDemo].[dbo].[Student]
      Where StudentName Like '%雪%'
    

    得到结果如下:
    在这里插入图片描述

    通配符

    • 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。
    • SQL Server通配符有:
      在这里插入图片描述
      现有例表:
      在这里插入图片描述

    使用%通配符
    1.搜索姓名以ue结尾的人,执行SQL:

    	Select 
    		Id,Name,Age,Address 
    	From People
    	Where Name Like '%ue'
    

    从下面结果可以看出%可以代表多个字符。
    在这里插入图片描述
    2.搜索住址以friedb开头的人,执行SQL:

    	Select 
    		Id, 
    		Name,
    		Age,
    		Address 
    	From People
    	Where Address Like 'friedb%'
    

    从下面结果可以看出%可以代表一个字符。
    在这里插入图片描述

    3.搜索姓名中含有ui的人,执行SQL:

       Select 
       	Id, 
       	Name,
       	Age,
       	Address 
       From People
       Where Name Like '%ui%'
    

    从下面结果可以看出%可以多次使用。
    在这里插入图片描述

    使用_通配符
    1.搜索地址第一个字符之后为itews的人,执行SQL:

       Select 
       	Id, 
       	Name,
       	Age,
       	Address 
       From People
       Where Address Like '_itews'
    

    从下面结果可以看出_只可以代表一个字符。
    在这里插入图片描述

    2.搜索地址第一个字符为p,然后是一个任意字符,然后是 “te”,然后是一个任意字符,最后是“s”的人,即p?te?s,执行SQL:

       Select 
       	Id, 
       	Name,
       	Age,
       	Address  
       From People
       Where Address Like 'p_te_s'
    

    从下面结果可以看出_只可以代表一个字符且可以多次使用。
    在这里插入图片描述

    [charlist] 通配符
    1.搜索姓名以“J”或“W”或“K”开头的人,执行SQL:

       Select 
       	Id, 
       	Name,
       	Age,
       	Address 
       From People
       Where Name Like '[JWK]%'
    

    从下面结果可以看出[]中的字符会被以或的方式被匹配搜索,可以做 Like J% OR Like W% OR Like K%。
    在这里插入图片描述

    2.搜索姓名不以“J”或“W”或“K”开头的人,执行SQL:

       Select 
       	Id, 
       	Name,
       	Age,
       	Address 
       From People
       Where Name Like '[!JWK]%'  --Where Name Not Like '[JWK]%'
    

    从下面结果可以看出[]中的字符会被以或的方式被匹配搜索,可以做 Not Like J% And Not Like W% And Not Like K%。
    在这里插入图片描述

  • 相关阅读:
    [51nod] 1301 集合异或和
    [BZOJ] 1088: [SCOI2005]扫雷Mine
    [LUOGU] P4251 [SCOI2015]小凸玩矩阵
    8.21模拟赛
    [BZOJ] 3163: [Heoi2013]Eden的新背包问题
    [BZOJ] 1001: [BeiJing2006]狼抓兔子
    【NOIP2017提高A组冲刺11.8】好文章
    [BZOJ] 1520: [POI2006]Szk-Schools
    [BZOJ] 1877: [SDOI2009]晨跑
    day23(事务管理)
  • 原文地址:https://www.cnblogs.com/wangqilong/p/10088345.html
Copyright © 2020-2023  润新知