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 "通配符"

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

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

最新文章

  1. vim(vi)常用操作及记忆方法
  2. java自定义类加载器
  3. js压缩图片base64长度
  4. W3School-CSS 字体(font)实例
  5. sql查询最大的见多了,查询第二的呢???
  6. 用sql 语句给字段添加描述
  7. Ctrl+Scroll改变所有Editor的缩放比例 (Code::Blocks)
  8. centos7.0 64位系统 安装PHP 支持 nginx
  9. 正向代理与反向代理的区别【Nginx读书笔记】
  10. .NET Remoting原理及应用实例:
  11. iOS 用CALayer实现动画
  12. 大白话系列之C#委托与事件讲解(一)
  13. Linux Kernel 排程機制介紹
  14. [LeetCode53]Maximum Subarray
  15. C语言socket编程——linux环境
  16. Swing-JCheckBox用法-入门
  17. 201521123023《Java程序设计》第7周学习总结
  18. Python数据结构应用3——链表
  19. http-server安装及运行
  20. python(39):argparse的用法,从外部传入指定参数

热门文章

  1. STM32F407 DAC 个人笔记
  2. iOS 绕过https证书验证 请求数据
  3. Ubuntu Software Center has closed unexpectly解决方案
  4. Relay Race (DP)
  5. 菜鸡的2017CPPC网络赛
  6. spring之注入类型
  7. 648. Replace Words
  8. UVa10214 Trees in a Wood.
  9. 转 DOS 8.3 文件名命名规则
  10. msp430项目编程50