Cool SQL function: DUMP

征求了Eddie Awad的意见,计划以后不定期地翻译一些他的文章,这次先来一个比较简单的,也是Eddie昨天刚写的 – Cool SQL function: DUMP。 Cool SQL function:DUMP 我注意到在Tom Kyte的新书中,他多次使用了DUMP函数来获得一些内部的存储样式以及指定表达式的大小。老实说,我不怎么常使用这个函数,但是在某些情况下这个函数确实很有用。 语法摘自Oracle documentation DUMP(expr[, return_fmt [, start_position [, length ] ] ] ) DUMP函数返回一个包含了数据类型,字节长度和内部存储形式的VARCHAR2值。返回值通常是符合自己数据库的字符集类型的。 比如: HR@XE> select dump(‘hello’) from dual; DUMP(‘HELLO’) ——————————— Typ=96 Len=5: 104,101,108,108,111 返回值告诉我们”hello”字串的长度是5ge字节,内部存储格式是”104,101,108,108,111″,数据类型是96,表示是字符串。Oracle文档给出了完整的类型代码以及说明。 默认是10进制格式,我们当然也可以转化成八进制,十六进制,甚至转成单个字符的样式。 比如,转成8进制 HR@XE> select dump(‘hello’,8) from dual; DUMP(‘HELLO’,8) ——————————— Typ=96 Len=5: 150,145,154,154,157 转成16进制: HR@XE> c/8/16 1* select dump(‘hello’,16)…