- 浏览: 568627 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
fiwrc:
知道了. 谢谢~!
\(^_^)/ Java多线程Master-Worker模式 -
fiwrc:
求问 getResultMap 是什么方法???? .. ...
\(^_^)/ Java多线程Master-Worker模式 -
我改名了:
...
\(^_^)/ 表达式解析器(MVEL) -
拓子轩:
赞一个
Oracle 语句大全 -
rudaoxia:
写的很详细,很好,还有很多的拓展,谢谢博主,收下了
\(^_^)/ JDK工具、命令
定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
实例:
SQL> select * from t11 where name like '%_%';
NAME
---------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';
NAME
----------
aa_a
注意:如果是 '/' 作为检索字符, 必须 用 '/' 作为转义符, 正斜扛也一样.
select * from wan_test where psid like '%//%' escape '/'
1.使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。
2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。
select * from a WHERE name LIKE '%/%ab' ESCAPE '/'
结果为:
name
----------
11%ab
12%ab
==================================================================================
SQL> select * from test;
TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
已选择9行。
其中包含特殊的字符分别为%,_,&,有可能包含这些字符的数据含有错误,或者需要查找包含这些字符的数据。
SQL> select * from test where test like 'sdd _%' escape ' ';
TEST
--------------------
sdd_kk
转义字符为' '(空格);
SQL> select * from test where test like 'sdd\_%' escape '\';
TEST
--------------------
sdd_kk
转义字符为'\';
SQL> select * from test where test like 'sdd=_%' escape '=';
TEST
--------------------
sdd_kk
转义字符为'=';
SQL> select * from test where test like 'sdd/_%' escape '/';
TEST
--------------------
sdd_kk
转义字符为'/';
SQL> select * from test where test like 'sddd_%' escape 'd';
未选定行
转义字符为d,没有实现转义功能;
SQL> select * from test where test like '%\_%' escape '\';
TEST
--------------------
sdd_kk
查找包含所有'_'的字段。
同理:通过这种方法查找含有'%'的所有字段:
SQL> select * from test where test like '%\%%' escape '\';
TEST
--------------------
dffa%asfs
1%2345
1%54321
2%54321
%%54321
但是'&'不能通过转义字符查找:
SQL> select * from test where test like '%\&%' escape'\';
select * from test where test like '%\&%' escape'\'
*
第 1 行出现错误:
ORA-01424: 转义符之后字符缺失或非法
可以通过另外的方式进行转义:
SQL> select ascii('&') from dual;
ASCII('&')
----------
38
SQL> select * from test where test like '%'||chr(38)||'%';
TEST
--------------------
A&B
'''的转义:
SQL> select * from test where test like '%''%';
TEST
--------------------
d'd
特殊符号的数据的插入
SQL> insert into test values('test&test');
输入 test 的值: test
原值 1: insert into test values('test&test')
新值 1: insert into test values('testtest') -虽然插入,但是数据不对。
已创建 1 行。
SQL> show define
define "&" (hex 26)
SQL> set define off
SQL> show define
define OFF
SQL> insert into test values('test&test');
已创建 1 行。
SQL> show escape
escape OFF
SQL> set escape on
SQL> show escape
escape "\" (hex 5c)
SQL> insert into test values('test\&test');
已创建 1 行。
SQL> select * from test;
TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest
test&test
test&test
已选择13行。
SQL> commit;
提交完成。
SQL> select * from test;
TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest
test&test
test&test
已选择13行。
SQL> insert into test values('test\%test');
已创建 1 行。
SQL> insert into test values('test\_test');
已创建 1 行。
SQL> insert into test values('test\'test);
insert into test values('test'test)
*
第 1 行出现错误:
ORA-00917: 缺失逗号
SQL> insert into test values('test''test');
已创建 1 行。
SQL> select * from test;
TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest
test&test
test&test
test%test
test_test
test'test
已选择16行。
连接符‘||’导致了新一轮的转义:连接符号‘||’左右的单引号没有任何的关系,除非‘||’是作为字符串的一部分(这在动态SQL中很常见)。
SQL> SELECT 'ORACLE'||'''' FROM DUAL;
'ORACLE'||''
----------
ORACLE'
个人理解,'ORACLE'||'''' 后面的“''''”应该认为是一个字符串(即前后单引号,中间是“''”串,而中间又是密集单引号,因此第一个为转义功能)
SQL> SELECT 'ORACLE''''' FROM DUAL;
'ORACLE'''''
------------
ORACLE''
对于第一个,前两个单引号配对,后面四个单引号按照上面的第一条原则分配,既:SELECT 'ORACLE'||'''' FROM DUAL;
对于第二个,由于第二个单引号后面存在单引号,所以就不与第一个配对,而是充当了转义的角色。既:SELECT 'ORACLE''''' FROM DUAL;
发表评论
-
SQL语句查询优化
2016-04-15 09:33 796百万数据查询优化细则 ... -
DB2 SQLCODE 大全
2014-07-12 11:17 1174DB2错误信息(按sqlcode排 ... -
\(^_^)/ 数据库索引
2014-03-21 21:36 930参考:http://txf2004.iteye. ... -
SQLite 语法
2014-01-08 14:24 5092SQLite库可以解析大部分标准SQL语言。但它也省去了一 ... -
Oracle 查询效率
2013-12-16 10:31 921(1) 选择最有效率的 ... -
Oracle 命名
2013-09-30 14:14 16651、 编写目的 使用统 ... -
\(^_^)/ MySQL语句
2013-09-03 10:11 2511一、连接mysql。 格式: mysql -h主机地址 ... -
常用数据库 JDBC URL 格式
2013-08-12 16:26 1482Microsoft SQL Server Microso ... -
java Derby 介绍
2013-03-01 10:11 16292一、Derby数据库介绍 ... -
Oracle处理重复数据
2012-12-03 14:02 1874在一张表中某个字段下 ... -
数据库取前几条记录的语句
2012-11-28 10:14 3641数据库取前几条记录的 ... -
Oracle查看存储过程内容
2012-11-30 13:16 4990相关的数据字典 USER_SOURCE 用户的存储过程、函数 ... -
JDBC知识点
2012-10-12 23:47 1236JDBC的基本原理 JDBC是 ... -
Oracle中merge用法
2012-06-12 14:07 3105MERGE语句是Oracle9i新增的语法,用来合并UP ... -
Oracle 知识总结
2012-06-11 21:22 1168【run;r;/的用法】 SQL> SELECT ... -
Oracle 知识
2012-06-02 13:56 1489【run;r;/的用法】 ... -
Oracle 语句大全
2012-06-01 16:56 30781. Oracle安装完成后的 ... -
Oracle 分组统计
2012-06-01 16:35 17801Oracle统计函数 --Rank和Dense_Rank分类 ... -
Oracle 索引
2012-05-29 11:20 1473一.索引介绍 1.1 索引的创建语法: CRE ... -
Oracle Hint
2012-05-28 17:07 1518Hint 是Oracle 提供的一种SQL语法,它允许用户 ...
相关推荐
考试内容中也包括对SQL查询技术的掌握,例如使用LIKE和ESCAPE关键字来查询包含特殊字符的字符串。在给出的例子中,查询需要匹配字符串'_D123',其中ESCAPE关键字用于指定转义字符,使得下划线_可以作为字面量字符...
**解答**: Oracle中有许多关键字,如SELECT、FROM、WHERE、INSERT、UPDATE、DELETE、CREATE等,这些关键字不能用作对象名。 - **示例**: 查看所有关键字: ```sql SELECT * FROM v$reserved_words; ``` ##### ...
- escape关键字的使用,用于定义转义字符,以便正确匹配特殊字符。 5. 更新语句: - UPDATE语句的使用,用于修改数据表中的记录。 6. 空值和排序: - IS NULL和IS NOT NULL在WHERE子句中的使用,用于查询空值或...
- 使用`DISTINCT`关键字去除查询结果中的重复记录。 - 示例:`SELECT DISTINCT DEPTNO FROM EMP`,仅列出`EMP`表中不同的`DEPTNO`。 - **12. 多列去重** - 使用`DISTINCT`关键字去除多列的组合重复。 - 示例:`...
由于'_'在LIKE语句中是特殊字符,表示任意一个字符,如果要匹配实际的'_',需要使用ESCAPE关键字来转义。因此,正确答案是A:`SELECT employee_id, last_name, job_id FROM employees WHERE job_id LIKE '%SA\_%' ...
在使用LIKE进行模式匹配时,如果通配符本身出现在模式中,需要使用ESCAPE关键字来转义该字符。例如,查询以`s_`开头的表名: ```sql SELECT table_name FROM user_tables WHERE table_name LIKE 'S\_%' ESCAPE '\';...
1. **处理特殊字符**:在查询时,如果需要匹配包含特殊字符如`%`或`_`的字段,可以使用`LIKE`关键字配合`ESCAPE`来指定转义字符。例如,查询以`A%`开头的数据,可以写为`SELECT * FROM table WHERE name LIKE 'A\%' ...
- 特殊符号转义:使用`escape`关键字,如:`select * from emp where ename like '%*_%' escape '*'` 通过以上内容的学习与实践,可以对Oracle数据库的基础知识有一个较为全面的了解,并能够进行基本的管理和操作...
Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理员(sysdba)身份登录,如`...
需要注意的是,当`%`、`_`、`'`、`&`需要作为查询条件的一部分时,可能需要进行转义,如使用`ESCAPE`关键字或ASCII编码。 以上内容涵盖了Oracle SQL语句的基础用法,对于数据库开发人员来说是必备的知识点。了解并...
- 使用LIKE关键字进行模糊匹配,涉及到通配符的使用以及ESCAPE选项的正确应用,这在需要对含有特殊字符的字符串进行精确匹配时尤其重要。 - 对于视图的创建,展示了如何确保视图支持DML操作,以及如何通过WITH CHECK...
### Oracle安装验证与基本操作知识点 #### 一、Oracle安装验证 - **验证步骤**: - 安装完成后,在虚拟机中通过执行特定命令来验证...通过这些知识点的学习,可以更好地掌握Oracle数据库的使用方法,并提高工作效率。
在Oracle中,若需查询包含特殊字符(如通配符`%`与`_`)的数据,可使用`LIKE`子句并结合`ESCAPE`关键字来指定特殊字符的含义。例如: ``` SELECT * FROM table WHERE name LIKE 'A_%' ESCAPE ''; ``` 此处,`...
### Oracle简单操作知识点详解 #### 一、启动与关闭Oracle实例 **标题**: oracle简单的操作 **描述**: 介绍了一些基本的Oracle操作命令...通过这些基本的操作,可以帮助我们更好地理解和掌握Oracle数据库的使用方法。
### Oracle SET 命令参数详解 ...了解并掌握这些配置项的使用方法,对于提高工作效率和优化查询结果具有重要意义。在日常工作中,建议根据具体的使用场景灵活调整这些设置,以便更好地满足不同情况下的需求。
- **通配符转义**:当需要匹配的模式中包含 `%` 或 `_` 时,可以使用 `ESCAPE` 关键字。 - 示例:`SELECT ename FROM emp WHERE ename LIKE '%$%%' ESCAPE '$'`(其中 `$` 作为转义字符)。 - **排序操作**:使用 ...
根据提供的文件信息,我们可以归纳出一系列关于Oracle数据库的重要知识点,这些知识点主要涵盖了SQL查询语句的基本用法、数据处理函数的应用、以及高级查询技巧等。接下来将对这些知识点进行详细的阐述。 ### 1. ...
通过本套文档的学习,您不仅能够掌握 Oracle 数据库的基本操作和 SQL 语言的使用方法,还能了解到如何利用 SQL Plus 这一强大的工具进行高效的数据管理和分析工作。随着实践经验的积累,相信您会逐渐成为 Oracle ...
第二种方法是使用`LIKE`关键字配合`ESCAPE`关键字。`LIKE`用于模式匹配,而`ESCAPE`则允许我们在模式中使用特殊字符,如百分号。在这种情况下,我们需要转义百分号,因为百分号在`LIKE`语句中通常作为通配符使用。...
### Oracle学习笔记(尚学堂版) #### 知识点概览 本篇Oracle学习笔记主要由尚学堂马士兵老师的...通过以上知识点的学习与实践,初学者可以系统地掌握Oracle数据库的基本操作方法,为后续深入学习打下坚实的基础。