本文介紹了編解碼函數的語法、參數以及示例等內容。
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