Oracle dump函数
DUMP
语法
DUMP(expr[, return_fmt [, start_position [, length ] ] ] )
用途
DUMP returns a VARCHAR2 value containing the datatype code, length in bytes, and internal representation of expr. The returned result is always in the database character set.
DUMP返回一个包含数据类型代码,字节长和内部表达式的VARCHAR2类型值。
The argument return_fmt specifies the format of the return value and can have any of the following values:
Return_fmt参数指定返回值的格式,包含以下值:
8 返回8进制数
10 返回10进制数
16 返回16进制数
17 returns each byte printed as a character if and only if it can be interpreted as a printable character in the character set of the compiler—typically ASCII or EBCDIC. Some ASCII control characters may be printed in the form ^X as well. Otherwise the character is printed in hexidecimal notation. All NLS parameters are ignored. Do not depend on any particular output format for DUMP with return_fmt 17.
每一个字节如果可翻译为打印字符字节则作为打印字符返回,否则字符以16进制数据返回。所有NLS参数将被忽略。不要指望着使用DUMP 17来输出独有的格式。
By default, the return value contains no character set information. To retrieve the character set name of expr, add 1000 to any of the preceding format values. For example, a return_fmt of 1008 returns the result in octal and provides the character set name of expr.
The arguments start_position and length combine to determine which portion of the internal representation to return. The default is to return the entire internal representation in decimal notation.
默认的,函数返回值不包含字符集信息。可对return_fmt加1000来实现返回字符集信息。例如, 1008返回8进制数并提供表达式的字符集名称。
参数start_position和length一起决定了该返回那一部分内部表达式。默认是返回全部。
If expr is null, then this function returns NULL.
如果表达式为NULL则函数返回NULL。
This function does not support CLOB data directly. However, CLOBs can be passed in as arguments through implicit data conversion.
此函数不直接支持CLOB数据。然而,CLOB可以作为参数通过隐式转换传入。
例子
SELECT DUMP('abc', 1016) FROM DUAL; DUMP('ABC',1016) ------------------------------------------ Typ=96 Len=3 CharacterSet=WE8DEC: 61,62,63
SELECT DUMP(last_name, 8, 3, 2) "OCTAL" FROM employees WHERE last_name = 'Hunold' ORDER BY employee_id; OCTAL ------------------------------------------------------------------- Typ=1 Len=6: 156,157 SELECT DUMP(last_name, 10, 3, 2) "ASCII" FROM employees WHERE last_name = 'Hunold' ORDER BY employee_id; ASCII -------------------------------------------------------------------- Typ=1 Len=6: 110,111