zoukankan      html  css  js  c++  java
  • SQL 通配符及其使用

    Sql Server中通配符的使用

    通配符_

    "_"号表示任意单个字符,该符号只能匹配一个字符."_"可以放在查询条件的任意位置,且只能代表一个字符.一个汉字只使用一个"_"表示.

    通配符%

    "%"符号是字符匹配符,能匹配0个或更多字符的任意长度的字符串.在SQL语句中可以在查询条件的任意位置放置一个%来代表一个任意长度的字符串.在查询条件时也可以放置两个%进行查询,但在查询条件中最好不要连续出现两个%

    通配符[]

    在模式查询中可以利用"[]"来实现查询一定范围的数据.[]用于指定一定范围内的任何单个字符,包括两端数据

    通配符[^]

    [^]用来查询不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
    如:select * from alluser
    where username like 'M[^abc]%'
    表示从表alluser中查询用户名以M开头,且第二个字符不是a,b,c信息.

    ESCAPE子句的模式匹配

    可搜索包含一个或多个特殊通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定由 Where comment LIKE '%30!%%' ESCAPE '!' 组成的 Where 子句。如果不指定 ESCAPE 和转义符,SQL Server 将返回所有含字符串 30 的行。

    下例说明如何在 pubs 数据库 titles 表的 notes 列中搜索字符串"50% off when 100 or more copies are purchased":

    Select notes FROM titles
    Where notes LIKE '50%% off when 100 or more copies are purchased' 
       ESCAPE '%'

    escape的主要用途

    1.使用 ESCAPE 关键字定义转义符。 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: Where ColumnA LIKE '%5/%%' ESCAPE '/'

    2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。 escape_character 是放在通配符前表示此特殊用途的字符。

    Select * FROM finances Where description LIKE 'gs_' ESCAPE 'S'

    意思就是: 比如,我们要搜索一个字符串 "g_" ,如果直接 like "g_",那么 "_"的作用就是通配符,而不是字符,结果,我们会查到比如 "ga","gb","gc",而不是我们需要的 "g_". 用 LIKE 'gs_' ESCAPE 'S' 's'表示特殊用法标志 
     


    #Region "通配符"

    [css] view plain copy
     
    1. Public Shared Function getEscape(ByVal strOld As String, Optional ByVal blnLike As Boolean = False) As String  
    2.   
    3.    '需要like模糊查詢的時候  
    4.     If blnLike = True Then  
    5.         strOld = Fn_Chr(strOld).Replace("[", "[[]")  
    6.         strOld = Fn_Chr(strOld).Replace("'", "''")  
    7.         strOld = Fn_Chr(strOld).Replace("%", "[%]")  
    8.         strOld = Fn_Chr(strOld).Replace("_", "[_]")  
    9.    '不需要like模糊查詢的時候,=的時候  
    10.     Else  
    11.         strOld = Fn_Chr(strOld).Replace("'", "''")  
    12.     End If  
    13.     Return strOld  
    14. End Function  
    15.  Region  

    为了您能够更好的享受学习与阅读的乐趣,真诚地建议您直接查看原址链接:http://www.w3school.com.cn/sql/sql_wildcards.asp

  • 相关阅读:
    Java学习笔记(二十三):final关键字
    Java学习笔记(二十二):打包程序
    Java框架spring Boot学习笔记(一):开始第一个项目
    Java学习笔记(二十一):类型转换和instanceof关键字
    Java学习笔记(二十):多态
    Java学习笔记(十二):java编译跨平台运行原理
    java学习笔记(十一):重写(Override)与重载(Overload)
    java学习笔记(十):scanner输入
    java学习笔记(九):Java 流(Stream)、文件(File)和IO
    java学习笔记(八):继承、extends、super、this、final关键字
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8324063.html
Copyright © 2011-2022 走看看