T-SQL 转义select … like中的特殊字符(百分号)
众所周知,T-SQL中LIKE运算符使用%符号表示通配符。很多时候可能需要查询包含有%的数据,比如需要查询字段coupon中含有5%的数据。那么如何使用已经有百分号(%)符号的LIKE搜索字符串呢?
从MSDN中可以找到,Like 中的通配符包含有:
| 
 通配符  | 
 Description  | 
 示例  | 
| 
 %  | 
 包含零个或多个字符的任意字符串。  | 
 WHERE title LIKE '%computer%' 将查找在书名中任意位置包含单词 "computer" 的所有书名。  | 
| 
 _(下划线)  | 
 任何单个字符。  | 
 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。  | 
| 
 [ ]  | 
 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。  | 
 WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如 Carsen、Larsen、Karsen 等。 在范围搜索中,范围包含的字符可能因排序规则的排序规则而异。  | 
| 
 [^]  | 
 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。  | 
 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l 的所有作者的姓氏。  | 
那么该将通配符作为文字使用呢?
- 方法1 使用括号,比如75%
 
WHERE MyCol LIKE '%75[%]%'
下表显示了几个使用 LIKE 关键字和 [ ] 通配符的示例。
| 
 符号  | 
 含义  | 
| 
 LIKE '5[%]'  | 
 5%  | 
| 
 LIKE '[_]n'  | 
 _n  | 
| 
 LIKE '[a-cdf]'  | 
 a、b、c、d 或 f  | 
| 
 LIKE '[-acdf]'  | 
 -、a、c、d 或 f  | 
| 
 LIKE '[ [ ]'  | 
 [  | 
| 
 LIKE ']'  | 
 ]  | 
| 
 LIKE 'abc[_]d%'  | 
 abc_d 和 abc_de  | 
| 
 LIKE 'abc[def]'  | 
 abcd、abce 和 abcf  | 
方法2 使用 ESCAPE 子句
SELECT *
FROM table
WHERE MyCol LIKE '%75!%%'
ESCAPE '!'
T-SQL 转义select … like中的特殊字符(百分号)的更多相关文章
- SQL SERVER SELECT语句中加锁选项的详细说明 [转]
		
SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能.用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果. 本文介绍了S ...
 - SQL SERVER SELECT语句中加锁选项的详细说明
		
共享锁(读锁)和排他锁(写锁) 共享锁(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句. 如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能 ...
 - php CI框架中URL特殊字符处理与SQL注入隐患
		
php CI框架中URL特殊字符处理与SQL注入隐患 php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而在配置里增加单引号' 反斜杠\ 这 ...
 - 用sql的select语句从数据库中获取数据
		
基本的select语句 select语句中的算数表达式和NULL值 列的别名 使用连接符操作,literal character strings,alternative quote operator, ...
 - SQL Injection-Http请求的参数中对特殊字符的处理
		
1.背景:最近学习webgoat到了SQL Injection的这一课,要完成这一课需要拦截Http请求,修改参数,不过在修改的参数中加入特殊字符才能完成.下面让我们一起来学习吧. 2.题目: 大致翻 ...
 - SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句
		
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
 - PHP用正则匹配字符串中的特殊字符防SQL注入
		
本文出至:新太潮流网络博客 /** * [用正则匹配字符串中的特殊字符] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB http:/ ...
 - Javascript转义字符串中的特殊字符处理
		
Web应用系统中,客户端发送请求到服务器,请求中的字符串参数,在被序列化成json过程中有些特殊字符会被空格代, 导致传递到服务器端再解析的时候,原本的输入参数就会被改变. 目前遇到的特殊字符有加号( ...
 - SQL like查询条件中的通配符处理
		
1. SQL like对时间查询的处理方法 SQL数据表中有savetime(smalldatetime类型)字段,表中有两条记录,savetime值为:2005-3-8 12:12:00和2005- ...
 
随机推荐
- ABP源码分析十七:DTO 自动校验的实现
			
对传给Application service对象中的方法的DTO参数,ABP都会在方法真正执行前自动完成validation(根据标注到DTO对象中的validate规则). ABP是如何做到的? 思 ...
 - ABP源码分析四十五:ABP ZERO中的EntityFramework模块
			
AbpZeroDbContext:配置ABP.Zero中定义的entity的Dbset EntityFrameworkModelBuilderExtensions:给PrimitiveProperty ...
 - C#经典笔试题-获取字符串中相同的字符以及其个数
			
public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...
 - 快速查找sql server中的存储过程和视图
			
select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped ...
 - Android 学习资源
			
下面这些资源对Android开发来说是很有帮助的! 最常用的: Android开发官方网站:http://developer.android.com/index.html 这个网站应该是Android ...
 - 用php生成一个excel文件(原理)
			
1.我们用php来生成一个excel文档来讲述其原理: excel2007里面的文档目录组成部分为: 2.我们使用ZipArchive()方法来生成一个简易的excel文件. 使用方法: 3.代码如下 ...
 - 复习sql server
			
1.数据库的概念模型独立于具体的机器和dbms 概念模型侧重于表达建模对象之间联系的语义,它是一种独立于计算机系统的模型,是现实世界的第一层次抽象,是用户和数据库设计人员进行交流的工具 2.数据库的数 ...
 - Css中的两个重要概念:块状元素和内联元素
			
一.display:block display:block就是将元素显示为块级元素,一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度(width)高度(he ...
 - 火狐浏览器中event不起作用解决办法--记录(一)
			
今天遇到了这个问题.IE,谷歌下都没问题,但在FF下却不起作用,很郁闷查了半天,看别人博文写了老长,结果试了要么起作用,但太麻烦,要么不起作用,说了那么多跟没说一样. 其实只要这一句代码就行:e=ar ...
 - 从零开始编写自己的C#框架(23)——上传组件使用说明
			
文章导航 1.前言 2.上传组件功能说明 3.数据库结构 4.上传配置管理 5.上传组件所使用到的类 6.上传组件调用方法 7.效果演示 8.小结 1.前言 本系列所使用的是上传组件是大神July开发 ...