设为首页 加入收藏

TOP

SQL SERVER 使用ESCAPE转义
2017-10-11 13:09:33 】 浏览:8291
Tags: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自动生成),转义符可以自由指定,例如:\

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Redis “瘦身”指南 下一篇Oracle03、用户授权以及用户解锁..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目