本文介绍了编解码函数的语法、参数以及示例等内容。
VSIZE
描述
该函数返回expr
内部表示形式中的字节数。如果expr
为NULL
,则此函数返回NULL
。
此函数不直接支持CLOB数据。但是,CLOB可以通过隐式数据转换作为参数传入。
语法
VSIZE(expr)
参数
参数 | 说明 |
expr | 可以为字符数据类型或者数值数据类型。 |
返回类型
如果 expr
为 NULL
,则函数返回 NULL
,否则返回一个 NUMBER
类型的值。
示例
SELECT VSIZE('0xffffffffffffffff'::xid8) FROM DUAL;
vsize
-------
8
ORA_HASH
描述
该函数是一个为给定表达式计算哈希值的函数。此函数适用于分析数据子集和生成随机样本等操作。
语法
ORA_HASH(expr [, max_bucket [, seed_value ]])
参数
参数 | 说明 |
expr | 通常为数据库表的列名,数据类型可以是数值类型、 |
max_bucket | 可选项,确定哈希函数返回的最大桶值。取值范围为 [0, 4294967295],默认值是 |
seed_value | 可选项,使数据库能够为同一组数据生成不同的结果。取值范围为 [0, 4294967295],默认值为 |
返回类型
返回NUMBER类型数据。
示例
create table t(
xml xmltype,
dp double precision,
id rowid,
si smallint,
i integer,
bi bigint,
dec decimal,
num number,
r real,
m money,
c char(4),
vc varchar,
vc1 clob,
te text,
ts timestamp,
da date,
byt bytea,
blc blob,
ble blob,
b bool);
insert into t values('xml',1,1,1,1,1,1,1,1,1,'a','abc','历史','abc','2004-10-19 10:23:54','2004-10-19', 'DEADBEEF', cast(repeat('a', 5120) as bytea), cast(repeat('a', 5120) as bytea), true);
select ora_hash(xml) from t;
ora_hash
----------
22411469
select ora_hash(id) from t;
ora_hash
------------
2389907270
DUMP
描述
该函数返回一个VARCHAR2
值,该值包含数据类型代码、字节长度和expr的内部表示形式。返回的结果总是在数据库字符集中。
语法
DUMP(expr[, return_fmt [, start_position [, length ] ] ])
参数
参数 | 说明 |
expr | 指定进行分析的表达式,可以是各个类型的值。 |
return_fmt | 指定返回值的格式,为可选参数。取值如下:
|
start_position | 指定开始进行返回的字符位置,为可选参数。默认值是 1。 |
length | 可选参数,指定需要返回的字符长度,默认返回全部字符。 |
返回类型
如果expr
为NULL
,则返回NULL
,否则,返回VARCHAR2
类型数据。
示例
select dump(123, 16, 0) FROM DUAL;
dump
------------------------
Typ=23 Len=4: 7b,0,0,0