转:http://blog.chinaunix.net/uid-26896647-id-3433968.html 问题描述:如果在一个表中的一个字段上存在'&',  '_',  '%'这样的特殊字符,而我们又得在where条件中使用到这些特殊字符怎么办? 1.创建含有这些特殊字符的表  SQL> create table t_test_escape(name varchar2(20));   Table created   SQL> insert into t_test_escape(…
http://blog.chinaunix.net/uid-26896647-id-3433968.html http://soft.chinabyte.com/database/398/12429898.shtml…
1. SELECT 关键字用法: 检索单个列:select 列名 from 表名: 例:select ename from emp;检索多个列: select [列1,列2, ... ,列N] from 表名: 例:select ename , sal from emp;检索所有列:select * from 表名: 例:select * from emp; 2. 通配符(A): * :代表0个或多个列_ : 代表单个字符% : 代表0个或多个字符 使用通配符的优点:书写方便.可以检索未知列 使…
Start With (树查询) 基本语法如下: SELECT ... FROM + 表名 WHERE + 条件3 START WITH + 条件1 CONNECT BY PRIOR + 条件2 --示例 Select * From DEMO Start With ID = '00001' Connect By Prior ID = PID 条件1: 表示从哪个节点开始查找, 也就是通过条件1 查询到的数据, 作为后续查询的起始节点(参数). 当然可以放宽限定条件,如 ID in ('00001…
用Oracle的编码转换的函数Convert实现,测试后可行. SQL> select *  2    from (select 'abcd' c1 from dual  3          union all  4          select 'ab测试cd' c1 from dual)  5   where c1 <> CONVERT(c1, 'US7ASCII', 'ZHS16GBK'); C1--------ab测试cd CONVERT函数说明: CONVERT(input…
原意是查询出所有的月粒度模型,但是在oracle中,下划线也代表匹配单一任何字符,导致15分钟粒度的模型也被查询出来,在此,需要对下划线做转义,使其只表示下划线的含义,可以使用ESCAPE()函数. escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号. 修改后的SQL如下: SELECT * FROM DBA_TABLES WHERE OWNER = 'IPMSDM' AND TABLE_NAME…
Oracle中的特殊判式 除了逻辑运算之外,Oracle提供了一些特殊判式.这些判式可以用来生成更加复杂和灵活的查询条件.本节将着重介绍以下几种判式. Between: 取值范围 In: 集合成员测试 Like: 模式匹配 Is null: 空值判断 All,somne,any:数量判断. Exists:存在性判断 between——范围测试 between判式,用于判断某个值是否在另外两个值之间.这些值可以为数值型.字符串和日期型.使用betwwen判式来获得ID号在1-5之间的员工信息. s…
一.条件语句1.流程控制-if else(1)ifif 判断条件 then      ...end if;(2)if-elseif 判断条件 then      ...else      ...end if;(3)if-elsifif 判断条件1 then      ...elsif 判断条件2 then      ...elsif 判断条件n then      ...end if;(4)if-elsif-elseif 判断条件1 then        ...elsif 判断条件2 then…
ESCAPE用法 1.使用 ESCAPE 关键字定义转义符: 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符. 2.ESCAPE 'escape_character'  允许在字符串中搜索通配符而不是将其作为通配符使用.escape_character 是放在通配符前表示此特殊用途的字符. select * from a WHERE name LIKE '%aa/%bb%' ESCAPE '/' P.S:第一个和最后一个%作为通配符,中间的%作为普通字符. 结果为: name --…
[解决办法]1.使用 escape() 函数escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号.例如:我上面的问题可以写成where name like 'ab\_%' escape '\',这个“\”可以改为其他字符 [其他参考方法]2.使用 instr() 函数辅助判断instr函数在Oracle/PLSQL中表示返回要截取的字符串在源字符串中的位置:如果找到了,则返回下标(从1开始):如果没…