[20180920]0x0d0xa.txt --//注:^M 在vim下ctrl+q+ctrl+M(windows下),ctrl+v+ctrl+M(linux下) --//由于blog无法显示^M,手工使用^ M代替. --//昨天的测试:http://blog.itpub.net/267265/viewspace-2214629/ --//再做一个例子验证问题: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.1.0.1.0 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0 D:\temp\test>cat 0x0d0x0a.txt select '1 2' c10 from dual; D:\temp\test>od -A x -t x1 0x0d0x0a.txt 000000 73 65 6c 65 63 74 20 27 31 0d 0a 32 27 20 63 31 ~~~~~~~~~~~ 000010 30 20 66 72 6f 6d 20 64 75 61 6c 3b 0d 0a 00001e --//可以发现1,2之间是0d 0a. --//修改如下: select dump(c10,16) from ( select '1 2' c10 from dual); SCOTT@test01p> @ 0x0d0x0a.txt DUMP(C10,16) --------------------- Typ=96 Len=3: 31,a,32 --//你可以发现丢失0x0d. --//再次修改如下,这里的^M对应的0x0d. select dump(c10,16) from ( select '1^M 2' c10 from dual); SCOTT@test01p> @ 0x0d0x0a.txt SP2-0734: unknown command beginning "2' c10 fro..." - rest of line ignored. --//报错,继续修改: select dump(c10,16) from ( select '1^M22' c10 from dual); SCOTT@test01p> @ 0x0d0x0a.txt DUMP(C10,16) ------------------------ Typ=96 Len=4: 31,a,32,32 --//变成0x0a. D:\temp\test>od -A x -t x1 0x0d0x0a.txt 000000 73 65 6c 65 63 74 20 64 75 6d 70 28 63 31 30 2c 000010 31 36 29 20 66 72 6f 6d 20 28 0d 0a 73 65 6c 65 000020 63 74 20 27 31 0d 32 32 27 20 63 31 30 20 66 72 ~~~~~~~~~~~~ 000030 6f 6d 20 64 75 61 6c 29 3b 0d 0a 00003b --//实际上1,2之间的字符是0x0d,oracle在执行后变成了0x0a. --//在工作中还会遇到的问题有一些开发使用回车作为连接字符串.这样看到的语句会非常奇怪. --//比如一些PB程序使用~r连接语句 select dump(c10,16) from ^M (select '1^M22' c10 from dual) ^M; --//看到的语句变成这样: SCOTT@test01p> @ 0x0d0x0a.txt C10 ---------- 1 22 SCOTT@test01p> @ dpc '' '' PLAN_TABLE_OUTPUT ------------------------------------- SQL_ID cy1v3hyr1wh5j, child number 0 ------------------------------------- (select '1 22' c10 from dual) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Plan hash value: 1388734953 ------------------------------------------------------------------ | Id | Operation | Name | E-Rows | Cost (%CPU)| E-Time | ------------------------------------------------------------------ | 0 | SELECT STATEMENT | | | 2 (100)| | | 1 | FAST DUAL | | 1 | 2 (0)| 00:00:01 | ------------------------------------------------------------------ Query Block Name / Object Alias (identified by operation id): ------------------------------------------------------------- 1 - SEL$1 / DUAL@SEL$1 --//看不到前面的dump相关内容. --//最后做一个例子: select '1^M22' c10 from dual union select '1'||chr(13)||'22' c10 from dual; --//按照道理应该输出一行,而实际上结果如下: C10 ---------- 1 22 22 select dump(c10,16) from ( select '1^M22' c10 from dual union select '1'||chr(13)||'22' c10 from dual ); DUMP(C10,16) ---------------------------------- Typ=1 Len=4: 31,a,32,32 Typ=1 Len=4: 31,d,32,32
[20180920]0x0d0xa.txt
来源:这里教程网
时间:2026-03-03 12:01:22
作者:
编辑推荐:
- Word文档中插入日期时间方法汇总大全03-03
- [20180920]0x0d0xa.txt03-03
- Word制作基本流程图的方法详解图文教程03-03
- 怎样使用Word2010写博客03-03
- OCP认证052考试最新题库及答案整理-7403-03
- OCP认证052考试最新题库及答案整理-7503-03
- 使用Word2010制作书法字帖的方法图文教程03-03
- 怎样在Word文档中为文字加下划线03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 我经常用的一些vi快捷键
我经常用的一些vi快捷键
26-03-03 - Oracle宕机案例汇总(一)
Oracle宕机案例汇总(一)
26-03-03 - Debian pkill命令详解(按模式终止进程的高效方法)
Debian pkill命令详解(按模式终止进程的高效方法)
26-03-03 - iptables-远程访问数据库端口策略
iptables-远程访问数据库端口策略
26-03-03 - Oracle rac进程详解
Oracle rac进程详解
26-03-03 - 回滚与撤销(一)
回滚与撤销(一)
26-03-03 - 一次夜维SQL的性能优化
一次夜维SQL的性能优化
26-03-03 - 添加控制文件(add control file)
添加控制文件(add control file)
26-03-03 - DBA“老司机”怎么看待Oracle自治数据仓库?
DBA“老司机”怎么看待Oracle自治数据仓库?
26-03-03 - MyBatis中的JdbcType映射介绍
MyBatis中的JdbcType映射介绍
26-03-03
