【功能】返回数据类型、字节长度和在内部的存储位置.DUMP(w[,x[,y[,z]]])
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* @author Alan
* @Email no008@foxmail.com
1 DUMP(w[,x[,y[,z]]]) 2 【功能】返回数据类型、字节长度和在内部的存储位置. 3 【参数】 4 w为各种类型的字符串(如字符型、数值型、日期型……) 5 x为返回位置用什么方式表达,可为:8,10,16或17,分别表示:8/10/16进制和字符型,默认为10。 6 y和z决定了内部参数位置 7 8 9 【返回】类型 <[长度]>,符号/指数位 [数字1,数字2,数字3,......,数字20] 10 如:Typ=2 Len=7: 60,89,67,45,23,11,102 11 12 SELECT DUMP('ABC',1016) FROM dual; 13 返回结果为:Typ=96 Len=3 CharacterSet=ZHS16GBK: 41,42,43 14 15 代码 数据类型 16 0 对应 VARCHAR2 17 1 对应 NUMBER 18 8 对应 LONG 19 12 对应 DATE 20 23 对应 RAW 21 24 对应 LONG RAW 22 69 对应 ROWID 23 96 对应 CHAR 24 106 对应 MSSLABEL 25 26 27 28 各位的含义如下: 29 30 1.类型: Number型,Type=2 (类型代码可以从Oracle的文档上查到) 31 2.长度:指存储的字节数 32 3.符号/指数位 33 在存储上,Oracle对正数和负数分别进行存储转换: 34 正数:加1存储(为了避免Null) 35 负数:被101减,如果总长度小于21个字节,最后加一个102(是为了排序的需要) 36 37 指数位换算: 38 正数:指数=符号/指数位 - 193 (最高位为1是代表正数) 39 负数:指数=62 - 第一字节 40 41 4.从<数字1>开始是有效的数据位 42 43 从<数字1>开始是最高有效位,所存储的数值计算方法为: 44 45 将下面计算的结果加起来: 46 47 每个<数字位>乘以100^(指数-N) (N是有效位数的顺序位,第一个有效位的N=0) 48 49 5、举例说明 50 51 SQL> select dump(123456.789) from dual; 52 返回:Typ=2 Len=6: 195,13,35,57,79,91 53 54 <指数>: 195 - 193 = 2 55 <数字1> 13 - 1 = 12 *100^(2-0) 120000 56 <数字2> 35 - 1 = 34 *100^(2-1) 3400 57 <数字3> 57 - 1 = 56 *100^(2-2) 56 58 <数字4> 79 - 1 = 78 *100^(2-3) .78 59 <数字5> 91 - 1 = 90 *100^(2-4) .009 60 123456.789 61 62 SQL> select dump(-123456.789) from dual; 63 返回:Typ=2 Len=7: 60,89,67,45,23,11,102 64 算法: 65 <指数> 62 - 60 = 2(最高位是0,代表为负数) 66 <数字1> 101 - 89 = 12 *100^(2-0) 120000 67 <数字2> 101 - 67 = 34 *100^(2-1) 3400 68 <数字3> 101 - 45 = 56 *100^(2-2) 56 69 <数字4> 101 - 23 = 78 *100^(2-3) .78 70 <数字5> 101 - 11 = 90 *100^(2-4) .009 71 123456.789(-) 72 73 现在再考虑一下为什么在最后加102是为了排序的需要,-123456.789在数据库中实际存储为 74 75 60,89,67,45,23,11 76 77 而-123456.78901在数据库中实际存储为 78 79 60,89,67,45,23,11,91 80 81 可见,如果不在最后加上102,在排序时会出现-123456.789<-123456.78901的情况。 82 83
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?