易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 转义字符

一、准备特殊数据
create table t_escape(s varchar2(50));
--show define -- define "&" (hex 26)
--show escape -- escape off
set define off
set escape on
insert into t_escape values('string&text');
insert into t_escape values('string\&text');
insert into t_escape values('string\%text');
insert into t_escape values('string\_text');
insert into t_escape values('string''text');
set escape off
set define on
insert into t_escape values('Top_Gun');
insert into t_escape values('Tom''s eye');
insert into t_escape values('normal');
insert into t_escape values('100%ps');
insert into t_escape values('12345');
insert into t_escape values('15%30');
insert into t_escape values('%40');
insert into t_escape values('25%XT');
insert into t_escape values('%%A3E5');
set define off
--直接插入如下数据时,插入结果不正确。
insert into t_escape values('T&T Company');
set define on
commit;
/
二、使用转义查询
[界定符][转义符]%'escape'[界定符] 为转义定义,如
转义_,使用$_%'escape'$,这里界定符是$。
select * from t_escape where s like 'Top$_%'escape'$';
界定符可以是空格,\,=,/,|,不能是字母。
例,查找含有'%'的所有字段:
select * from t_escape where s like '%\%%' escape '\';
'&'不能通过转义字符查找:
select * from t_escape where s like '%\&%' escape'\';
可以通过另外的方式进行转义:
select ascii('&') from dual; -- ASCII = 38
select * from t_escape where s like '%'||chr(38)||'%';
查找单引号:
select * from t_escape where s like '%''%';


相关文档:

解决修改计算机名Oracle无法启动的问题

安装Oracle Database(10.0.2)后,如果修改机器名后,
会导致控制面板的服务中启动OracleTNSLisener服务立刻就停止。
使用命令行工具,提示如下:
(机器名原来为:ANSWER-1738E000,改为:ANSWER)
 
解决方法:
1>关掉控制面板中有关于 Oracle Database 的服务。
2>修改 C:\oracle\product\10.2.0\db_1\NE ......

学习《Oracle 9i10g编程艺术》的笔记 (四)

 1.数据库独立性
将应用从数据库A 移植到数据库B 时,我时常遇到这种问题:应用在数据库A 上原本无懈可击,到了
数据库B 上却不能工作,或者表现得很离奇。看到这种情况,我们的第一个想法往往是,数据库B 是一个
“不好的”数据库。而真正的原因其实是数据库B 的工作方式完全不同。没有哪个数据库是错的 ......

关于ORACLE外连接(+)

现在有以下两张表:
                                              表A  ......

关于ORACLE辅助语句

--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual;  --选择日期
select * from ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号