关于sql通配符检索问题-【.NET】
确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加灵活。如果任何参数都不属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串数据类型(如果可能)。
语法 
match_expression   [   NOT   ]   LIKE   pattern   [   ESCAPE   escape_character   ]
参数 
match_expression   任何字符串数据类型的有效   SQL   Server   表达式。 
patternmatch_expression   中的搜索模式,可以包含下列有效   SQL   Server   通配符
1       %     包含零个或更多字符的任意字符串 
        示例:WHERE   title   LIKE   '%computer% '     将查找处于书名任意位置的包含单词   computer   的所有书名。
2     _(下划线)   任何单个字符 
      示例:WHERE   au_fname   LIKE   '_ean '   将查找以   ean   结尾的所有   4   个字母的名字(Dean、Sean   等)。
3       []   指定范围中的任何单个字符 
      示例:WHERE   au_lname   LIKE   '[C-P]arsen '   将查找以arsen   结尾且以介于   C   与   P   之间的任何单个字符开始的   作者姓氏,例如,Carsen、Larsen、Karsen   等
4   [^]     不属于指定范围中的任何单个字符,与   []   相反 
      示例:WHERE   au_lname   LIKE   'de[^l]% '   将查找以   de   开始且其后的字母不为   l   的所有作者的姓氏。
一   使用   like   的模式匹配: 
在搜索Datetime类型时,建议使用like   . 
LIKE   支持   ASCII   模式匹配和   Unicode   模式匹配。当所有参数,包括   match_expression、pattern   和   escape_character(如果有)都是   ASCII   字符数据类型时,将执行   ASCII   模式匹配。如果其中任何参数属于   Unicode   数据类型,则所有参数将被转换为   Unicode   并执行   Unicode   模式匹配。当对   Unicode   数据(nchar   或   nvarchar   数据类型)使用   LIKE   时,尾随空格是有意义的。但是对于非   Unicode   数据,尾随空格没有意义。Unicode   LIKE   与   SQL-92   标准兼容。ASCII   LIKE   与   SQL   Server   的早期版本兼容
二 使用 % 通配符
例如,此查询将显示数据库中所有的系统表,因为它们都以字母   sys   开始: 
SELECT   TABLE_NAME 
FROM   INFORMATION_SCHEMA.TABLES 
WHERE   TABLE_NAME   LIKE   'sys% ' 
若要查阅非系统表的所有对象,请使用   NOT   LIKE   'sys% '。如果共有   32   个对象且   LIKE   找到   13   个与模式匹配的名称,则   NOT   LIKE   将找到   19   个与   LIKE   模式不匹配的对象
三 使用escape字句的模式匹配
可搜索包含一个或多个特殊通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定由 WHERE comment LIKE '%30!%% ' ESCAPE '! ' 组成的 WHERE 子句。如果不指定 ESCAPE 和转义符,SQL Server 将返回所有含字符串 30 的行。
下例使用 ESCAPE 子句和转义符查找 mytbl2 表的 c1 列中的精确字符串 10-15%
USE   pubs 
GO 
IF   EXISTS(SELECT   TABLE_NAME   FROM   INFORMATION_SCHEMA.TABLES 
            WHERE   TABLE_NAME   =   'mytbl2 ') 
      DROP   TABLE   mytbl2 
GO 
USE   pubs 
GO 
CREATE   TABLE   mytbl2 
( 
  c1   sysname 
) 
GO 
INSERT   mytbl2   VALUES   ( 'Discount   is   10-15%   off ') 
INSERT   mytbl2   VALUES   ( 'Discount   is   .10-.15   off ') 
GO 
SELECT   c1   
FROM   mytbl2 
WHERE   c1   LIKE   '%10-15!%   off% '   ESCAPE   '! ' 
GO
四 使用 [] 通配符
下例查找姓为   Carson、Carsen、Karson   或   Karsen   的作者所在的行。 
USE   pubs 
SELECT   au_lname,   au_fname,   phone 
FROM   authors 
WHERE   au_lname   LIKE   '[CK]ars[eo]n ' 
ORDER   BY   au_lname   ASC,   au_fname   ASC
关于sql通配符检索问题-【.NET】的更多相关文章
- SQL TOP 子句、SQL LIKE 操作符、SQL 通配符
		TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 注释:并非所有的数据库系统都支持 TOP 子句. SQL Server 的语法: S ... 
- sql常识-SQL 通配符
		在搜索数据库中的数据时,您可以使用 SQL 通配符. SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中, ... 
- SQL 通配符
		在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符.SQL 通配符必须与 LIKE 运算符一起使用,必须放在引号内. 在 SQL 中,可使用以下通配符: %:替代一个或多个字符. _:仅替代 ... 
- (转)sql通配符
		背景:一次搞清sql查询中的通配符问题. 1 sql通配符 通配符主要以下几种:%._.[].[^] . 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符.SQL 通配符必须与 LIKE ... 
- SQL通配符
		通配符可用于替代字符串中的任何其他字符. 在 SQL 中,通配符与 SQL LIKE 操作符一起使用. SQL 通配符用于搜索表中的数据. 在 SQL 中,可使用以下通配符: 通配符 描述 % 替代 ... 
- SQL 通配符的使用?三种
		SQL 通配符 通配符可用于替代字符串中的任何其他字符. SQL 通配符 在 SQL 中,通配符与 SQL LIKE 操作符一起使用. SQL 通配符用于搜索表中的数据. 在 SQL 中,可使用以下通 ... 
- 【数据库】 SQL 通配符
		[数据库] SQL 通配符 1. % : 替代一个或多个字符 2. _ : 仅替代一个字符 3. [] : 字符列中的任何单一字符 4. [^charlist] 或者 [!charlist] : 不 ... 
- sql通配符+sql中查询条件包含下划线等通配符的写法
		一.SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中,可使用以下通配符: 通配符 描述 % 替代一个或多 ... 
- SQL-W3School-高级:SQL 通配符
		ylbtech-SQL-W3School-高级:SQL 通配符 1.返回顶部 1. 在搜索数据库中的数据时,您可以使用 SQL 通配符. SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代 ... 
随机推荐
- 【Linux】GDB查看栈信息(转)
			在调试程序的过程中,查看程序的函数调用堆栈是一项最基本的任务,几乎所有的图形调试器都支持这项特性. GDB调试器当然也支持这一特性,但是功能更加灵活和丰富. GDB将当前函数的栈帧编号为0,为外层函数 ... 
- C#  数字转换成汉字大写      数值转换成汉字大写
			1.数字转换成汉字大写 public string NumToChinese(string x) { //数字转换为中文后的数组 //转载请注明来自 http://www.shang11.com st ... 
- Spreadsheet 常用属性
			标题栏是否可见 Spreadsheet1.TitleBar.Visible=true 标题栏背景颜色 Spreadsheet1.TitleBar.Interior.Color="Green& ... 
- .Net Core内存回收模式及性能测试对比
			.NET Core 两种GC模式: Server GC / Workstation GC Server GC : 主要应用于多处理器系统,并且作为ASP.NET Core宿主的默认配置.它会为每个处理 ... 
- 【题解】 UVa11729 Commando War
			题目大意 你有n个部下,每个部下需要完成一项任务.第i个部下需要你花Bj分钟交代任务,然后他就会立刻独立地.无间断地执行Ji分钟后完成任务.你需要选择交代任务的顺序,使得所有任务尽早执行完毕(即最后一 ... 
- Linux--多用户登录服务器端口抓包
			以root身份登录1.新建用户组用命令groupadd test2.添加用户useradd -d /home/test/bei_1 -s /bin/sh -g test -m bei_1此命令新建了一 ... 
- 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!!
			开发工具:Visual Studio 2015 企业版 目 标 机:Windows 10 X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ... 
- Mysql  索引原理《一》索引原理与慢查询1
			为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然 ... 
- 关键字的使用 pass break continue
			# ### 关键字的使用 # (1)pass 过 作用 作站位用的 if 5==5: pass i = 0 while i <5: pass #约定俗成,在循环里面什么也不行的情况下,给友好提示 ... 
- “全栈2019”Java第二十章:按位与、按位或、异或、反码、位运算
			难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ... 
