使用SQL语句查询是开发中常做的事,在实际的情况中,可能会遇到,查询包含某个关键词的所有行,而这个关键词正好也是SQL SERVER的关键词。

下面有一张表Member,有如下的数据:

假如需要查询名字中包含%字符的数据,首先我们会有这样的查询语句:

SELECT * FROM dbo.Member WHERE Name LIKE '%%%'

但是由于%在SQL SERSER中是关键字,此时需要转义,没有转义的写法可以如下:

SELECT * FROM dbo.Member WHERE Name LIKE '%[%]%'

转义的写法如下,使用ESCAPE指定转义符:

SELECT * FROM dbo.Member WHERE Name LIKE '%~%%' ESCAPE '~'

在项目中使用Entity Framework时,比如名称是否包含%,则DBContext.Set<Member>().Where(m => m.Name.Contains("%")),然后使用SQL Profiler可以看出Entity Framework生成的SQL是使用了~作为转义符。开发中如果是我们手写SQL(非ORM自动生成),转义符可以自由指定,例如:\

SQL SERVER 使用ESCAPE转义的更多相关文章

  1. SQL Server:SQL Like 通配符特殊用法:Escape 【转】

    SQL中escape的主要用途 1.使用   ESCAPE   关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符.例如,要搜索在任意位置包含字符串   5%   的字符串 ...

  2. ylb:SQL Server中的escape(逃逸)

    ylbtech-SQL Server:SQL Server-SQL中的escape(逃逸) SQL Server中的escape(逃逸). 1,SQL Server中的escape(逃逸) 返回顶部 ...

  3. 【转载】SQL Server 2008 r2 中 SQL语句中单引号转义

    sql server有两个转义符. 默认情况下, 单引号'是字符串的边界符, 如果在字符串中包含单引号', 则必须使用两个单引号', 第1个单引号'就是转义符.

  4. sql server中sql语句中单引号怎么转义?【转】

    sql server有两个转义符: ' 默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符 另一个转义符是" 当SET QUOTED_IDEN ...

  5. SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理)

    SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理) SQL Server查询中,经常会遇到一些特殊字符,比如单引号'等,这些字符的处理方法,是SQL Server ...

  6. sql server中常用方法函数

    SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...

  7. 在SQL Server中用好模糊查询指令LIKE

    简介:like在sql中的使用 在SQL Server中用好模糊查询指令LIKE 查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之 ...

  8. 在SQL Server中用好模糊查询指令LIKE (转载)

    like在sql中的使用:在SQL Server中用好模糊查询指令LIKE:查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇 一.一 ...

  9. SQL Server中LIKE和PATINDEX的用法

    在SQL Server中,能使用通配符的只有2个:LIKE.PATINDEX. 不过LIKE支持2种通配符转义,无限制最全面:而PATINDEX只支持最简单的通配符转义([]转义),限制较多. LIK ...

随机推荐

  1. Chapter 3 Phenomenon——12

    Naturally, the ambulance got a police escort to the county hospital. 自然而然的,救护车让一个警察陪护到县医院去. 自然,救护车一路 ...

  2. java学习-get和post请求

    摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...

  3. 布局管理器之CardLayout(卡片布局管理器)

    对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡. CardLayout就是类似的这样一个布局管理器,它 ...

  4. Hadoop+Hive 操作mongodb数据

    Hadoop+Hive 操作mongodb数据 1.版本概述 hadoop-2.7.3.hive-2.2 下载响应的jar包:http://mvnrepository.com/,直接搜索想要的jar包 ...

  5. JS实现年月日三级联动+省市区三级联动+国家省市三级联动

    开篇随笔:最近项目需要用到关于年月日三级联动以及省市区三级联动下拉选择的功能,于是乎网上搜了一些做法,觉得有一些只是给出了小的案例或者只有单纯的js还不完整,却很难找到详细的具体数据(baidu搜索都 ...

  6. vs2015 活动解决方案或项目由选择的源代码管理插件以外的插件管理

    1.vs2015切换源代码管理插件,svn无法切换到git,点击是将关闭项目 解决方案: 找到项目中.sln 文件,使用编辑器打开,将Svn-Managed = true 设置为false

  7. SQL中利用ROW_NUMBER()进行分页查询

    SELECT ContractName ,ContractNO, State,CreateDate FROM (SELECT ContractName ,ContractNO,CreateDate, ...

  8. F#注解

    不要问我为啥要学F#——因为气质摆在那里 标注:以下内容均来自 anderslly F#系列 1.类型推演 let square x = x * x //接受一个某类型参数的quare函数返回一个这个 ...

  9. poj 1849 Two 树形dp

    Two Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1092   Accepted: 527 Description Th ...

  10. JDBC进行事务管理

    JDBC进行事务管理 事务的四个特征:原子性 : 是指事务中包含的操作都被看做是一个逻辑单元一致性: 开始前和结束后数据库都处于一致性状态隔离性: 对数据库修改的多个事务是彼此隔离的持久性 事务完成之 ...