1、escape是干什么用的?
escape相对于转移字符
2、escape在什么情况下使用?
举例说明:
例如我们要进行模糊查询:
--测试数据
declare @tablea table (id int ,col varchar(20))
insert into @tablea
select 1,'maco' union all
select 2,'mao' union all
select 3,'micro'
--模糊查询
select * from @tablea where col like '%ma%'
/*结果
id col
----------- --------------------
1 maco
2 mao
*/
这是最普通的模糊查询了
但是当col列含有特殊字符例如%%的时候
declare @tableb table (id int ,col varchar(20))
insert into @tableb
select 1,'m%a%co' union all
select 2,'m%a%o' union all
select 3,'miacro'
select * from @tableb where col like '%%a%%'
上面这句就不行了,结果相当于%a%,有a的都出来了
/*
结果:
id col
----------- --------------------
1 m%a%co
2 m%a%o
3 miacro
*/
此时我们可以用escape来处理
declare @tablec table (id int ,col varchar(20))
insert into @tablec
select 1,'m%a%co' union all
select 2,'m%a%o' union all
select 3,'miacro'
--模糊查询
select * from @tablec where col like '%$%a$%%' escape '$'
/*结果
id col
----------- --------------------
1 m%a%co
2 m%a%o
*/
@【叶子】http://blog.csdn.net/maco_wang 原创作品,转贴请注明作者和出处,留此信息。
分享到:
相关推荐
### SQL中的AS关键字详解 在SQL语言中,`AS`关键字是一个非常实用的功能,它主要用于为查询结果中的列或者表创建别名。这种别名的使用不仅能够提高SQL语句的...在实际开发中灵活运用这些技巧,将会大大提高工作效率。
1.6.4 sql环境中对象的命名规则 18 第2章 主要的关系数据库与sql 21 2.1 sql server 21 2.1.1 sql server的结构 21 2.1.2 数据库访问标准化接口—odbc 22 2.1.3 使用查询分析器执行sql语句 22 2.2 transact-...
在Oracle SQL项目开发中,经常会遇到各种问题,以下是一些常见的问题及其解决方案: 1. **查询包含特殊字符的数据** 当需要查询包含特殊字符(如%或_)的数据时,可以使用`LIKE`关键字配合`ESCAPE`来指定特殊字符...
3. **数据库的原生防护机制**:虽然部分数据库如MySQL提供了如`mysql_real_escape_string()`等函数来转义特殊字符,防止SQL注入,但在实际应用中,若未正确使用这些功能,仍然存在被攻击的风险。 4. **盲注攻击**:...
在IT行业中,SQL注入是一种常见的安全威胁,攻击者通过输入恶意的SQL代码,欺骗数据库执行非预期的操作,从而获取敏感信息或破坏数据。为了解决这个问题,PHP开发者通常会使用各种方法来防止SQL注入,其中之一就是...
- `ESCAPE`用于在`LIKE`操作中定义转义字符,如`WHERE dname LIKE 'IT~_%' ESCAPE '~'`。 5. **排序**: - `ORDER BY`子句用于排序结果,`DESC`表示降序,`ASC`表示升序。例如,`ORDER BY sal DESC`按薪水降序...
在使用LIKE进行模式匹配时,如果通配符本身出现在模式中,需要使用ESCAPE关键字来转义该字符。例如,查询以`s_`开头的表名: ```sql SELECT table_name FROM user_tables WHERE table_name LIKE 'S\_%' ESCAPE '\';...
SQL注入是一种常见的安全漏洞,攻击者通过在应用程序的输入字段中插入恶意SQL语句,利用这些语句来操控后端数据库,获取敏感数据、修改或删除数据等。这种攻击方式之所以广泛存在,主要是因为许多开发人员在编写应用...
在处理SQL语句时,其中所有的空格都被忽略(空格只用来分开单词,连续多个空格当一个用)。 SQL语句可以在一行上写出,建议多行写出,便于阅读和调试。 多条SQL语句必须以分号分隔。多数DBMS不需要在单条SQL语句后...
- 掌握如何在查询中使用表达式和运算符。 - 了解如何处理空值。 - 学习如何给查询结果中的字段起别名。 - 熟悉如何进行列的连接操作。 **SELECT查询基本语法:** ```sql SELECT <列名> FROM <表名>; ``` **示例:...
SQL语句是数据库管理的核心工具,用于从关系型数据库中提取、更新、删除和修改数据。本篇将针对提供的复习内容,深入解析SQL查询语句的相关知识点。 首先,我们了解了三个基本表:学生表(Student),课程表(Course)...
Oracle SQL语句是数据库开发中的基础工具,它用于在Oracle数据库中进行数据查询、更新、删除等操作。本文主要探讨了几个重要的SQL概念和...在实际应用中,还应结合具体的业务需求和性能优化技巧,灵活运用这些SQL语句。
SQL注入是一种常见的网络安全威胁,它发生在应用程序未能正确过滤或转义用户输入,导致恶意构造的SQL语句被执行,从而可能泄露、修改或删除数据库中的敏感信息。PHP是Web开发中常用的脚本语言,因此理解如何在PHP中...
【数据库原理及应用实验二...以上就是实验中涉及到的SQL查询语句和相关知识点,通过这些操作,学生可以更好地理解和运用SQL进行数据检索和处理。通过这些练习,他们将能够熟练地在实际数据库环境中执行复杂的查询任务。
SQL注入攻击是一种常见的网络安全威胁,攻击者通过在应用程序的输入字段中插入恶意的SQL代码,以此来操纵或破坏数据库。PHP作为广泛应用的服务器端脚本语言,自然也是这类攻击的目标。在PHP中,有一项名为Magic ...
在SQL Server中,模糊查询是用于查找不完全匹配特定模式的数据的关键技术。这种查询方法主要依赖于`LIKE`关键字,它可以用于搜索字符串、日期或时间值,这些值可以部分匹配或符合某种模式。以下是对`LIKE`关键字和...
0841 如何正确地理解和运用SQL中的判式 503 0842 如何正确地理解和使用SQL中的关键字 503 19.2 比较、逻辑运算符查询 504 0843 如何使用算术运算符号进行比较查询 504 0844 如何使用比较运算符号进行比较...
文档中提到的“WHERE prod_id LIKE '%_D123%' ESCAPE '_'”展示了如何使用ESCAPE关键字来指定转义字符,以便在使用LIKE子句进行模式匹配时可以包含通配符本身作为匹配的一部分。这对于执行某些特殊字符作为分隔符的...
在实际应用中,开发人员可能会使用`mysql_real_escape_string()`或`addslashes()`等函数来防止SQL注入。然而,这些函数在处理宽字节字符时可能存在漏洞。以Sqli-Less32为例,尽管使用了`mysql_real_escape_string()`...