sql中处理下划线、百分号等转义字符
2015-11-20 17:39
260 查看
如果想在SQL LIKE里查询有下划线’‘或是’%’等值的记录,直接写成like ‘XXX_XX’,则会把’‘当成是like的通配符。今天项目中就遇到了这种情况,例如要查询外包人员,外包人员的邮箱都是以v_开头的,这样直接写查询语句:
select * from user where email like ‘v_%’
执行这条语句会把类似 vabc@baidu.com这样的人搜索出来,要如何精确查找v_xxx@baidu.com这样的人员呢?
SQL里提供了 escape子句来处理这种情况,escape可以指定like中使用的转义符是什么,而在转义符后的字符将被当成原始字符。
例如上述查询语句应该写成:
select * from user where email like ‘v_%’ escape ‘\’
这样就能查询出正确的结果了。
select * from user where email like ‘v_%’
执行这条语句会把类似 vabc@baidu.com这样的人搜索出来,要如何精确查找v_xxx@baidu.com这样的人员呢?
SQL里提供了 escape子句来处理这种情况,escape可以指定like中使用的转义符是什么,而在转义符后的字符将被当成原始字符。
例如上述查询语句应该写成:
select * from user where email like ‘v_%’ escape ‘\’
这样就能查询出正确的结果了。
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器
- SQL Server 2000向SQL Server 2008 R2推送数据图文教程