SQL SERVER 使用ESCAPE转义
使用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转义的更多相关文章
- SQL Server:SQL Like 通配符特殊用法:Escape 【转】
SQL中escape的主要用途 1.使用 ESCAPE 关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符.例如,要搜索在任意位置包含字符串 5% 的字符串 ...
- ylb:SQL Server中的escape(逃逸)
ylbtech-SQL Server:SQL Server-SQL中的escape(逃逸) SQL Server中的escape(逃逸). 1,SQL Server中的escape(逃逸) 返回顶部 ...
- 【转载】SQL Server 2008 r2 中 SQL语句中单引号转义
sql server有两个转义符. 默认情况下, 单引号'是字符串的边界符, 如果在字符串中包含单引号', 则必须使用两个单引号', 第1个单引号'就是转义符.
- sql server中sql语句中单引号怎么转义?【转】
sql server有两个转义符: ' 默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符 另一个转义符是" 当SET QUOTED_IDEN ...
- SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理)
SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理) SQL Server查询中,经常会遇到一些特殊字符,比如单引号'等,这些字符的处理方法,是SQL Server ...
- sql server中常用方法函数
SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...
- 在SQL Server中用好模糊查询指令LIKE
简介:like在sql中的使用 在SQL Server中用好模糊查询指令LIKE 查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之 ...
- 在SQL Server中用好模糊查询指令LIKE (转载)
like在sql中的使用:在SQL Server中用好模糊查询指令LIKE:查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇 一.一 ...
- SQL Server中LIKE和PATINDEX的用法
在SQL Server中,能使用通配符的只有2个:LIKE.PATINDEX. 不过LIKE支持2种通配符转义,无限制最全面:而PATINDEX只支持最简单的通配符转义([]转义),限制较多. LIK ...
随机推荐
- 在 Ubuntu下安装 labelImg (标数据用)
安装 SIP 下载 SIP 并解压 : $ sudo python configure.py $ make $ sudo make install 安装 依赖库 $ sudo apt-get ins ...
- 5-niginx-健康检查模块
1, nginx有一个自带的健康检查模块, 过于丑陋... 只需要在 nginx.conf下的http中的server配置如下即可 location /basic_status { stub_sta ...
- 笔记六:python字符串运算与函数
一:学习内容 字符串运算 字符串函数-strip() 字符串函数-大小写互换 字符串函数-字符串对齐 字符串函数-搜索 字符串函数-替换 字符串函数-split切割 字符串函数-连接join 字符串函 ...
- Cacheable redis 宕机
使用Cacheable注解Redis方法时,如果Redis服务器挂了,就直接抛出异常了, java.net.ConnectException: Connection refused: connect ...
- ruby 数据sql操作
ActiveRecord ActiveRecord 是 Rails 的 ORM 元件,負責與資料庫溝通,讓我們可以用物件導向的語法操作資料庫.在”打造 CRUD 應用程式”一章中提到的對應概念如下: ...
- APP消息推送机制的实现(PUSH)
出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/artic ...
- DataTable的Ajax使用
DataTable Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官网: https://datatables.net/ 中文网: ...
- 远程桌面控制项目开发(Spring+Netty+Swing)
[目录] 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.待优化 10.一点心得 11.效果演示 12.讨论 13.GitHub ...
- 深入了解Java虚拟机(2)垃圾收集器与内存分配策略
垃圾收集器与内存分配策略 由于JVM中对象的频繁操作是在堆中,所以主要回收的是堆内存,方法区中的回收也有,但是比较谨慎 一.对象死亡判断方法 1.引用计数法 就是如果对象被引用一次,就给计数器+1,否 ...
- Angular的表单组件
创建表单元素 在上一节中,我们学习了如何创建一个组件login,现在将login改造一下, 在template中添加html表单元素,#usernameRef表示input元素id,如果想传递inpu ...