CONCAT

将多个(最多12个)RAW进行拼接,总长度不能超过8000字节,否则报错。(Oracle的RAW值在神通数据库中具体为VARBINARY类型)

声明

    UTL_RAW.CONCAT (
            r1  IN VARBINARY DEFAULT NULL,
            r2  IN VARBINARY DEFAULT NULL,
            r3  IN VARBINARY DEFAULT NULL,
            r4  IN VARBINARY DEFAULT NULL,
            r5  IN VARBINARY DEFAULT NULL,
            r6  IN VARBINARY DEFAULT NULL,
            r7  IN VARBINARY DEFAULT NULL,
            r8  IN VARBINARY DEFAULT NULL,
            r9  IN VARBINARY DEFAULT NULL,
            r10 IN VARBINARY DEFAULT NULL,
            r11 IN VARBINARY DEFAULT NULL,
            r12 IN VARBINARY DEFAULT NULL)
RETURN VARBINARY;

结构

参数 说明
r1 参与拼接第一个RAW。
r2 参与拼接第二个RAW。
r3 参与拼接第三个RAW。
r4 参与拼接第四个RAW。
r5 参与拼接第五个RAW。
r6 参与拼接第六个RAW。
r7 参与拼接第七个RAW。
r8 参与拼接第八个RAW。
r9 参与拼接第九个RAW。
r10 参与拼接第十个RAW。
r11 参与拼接第十一个RAW。
r12 参与拼接第十二个RAW。

返回值

返回拼接之后的RAW。

示例

create or replace procedure v_concat
as
DECLARE
  r1 VARBINARY;
  r2 VARBINARY;
  r3 VARBINARY;
  r4 VARBINARY;
  res VARBINARY;
BEGIN
  r1 := '0x1';
  r2 := '0x2';
  r3 := '0x3';
  r4 := '0x4';
  res := UTL_RAW.concat(NULL,r1,r2,NULL,r3,r4); 
  select r1 as R1;
  select r2 as R2;
  select r3 as R3;
  select r4 as R4;
  select res as RESULT;
END;

/
call v_concat;
R1(varbinary)      |
-------------------
0x01               |
总数目:1
R2(varbinary)      |
-------------------
0x02               |
总数目:1
R3(varbinary)      |
-------------------
0x03               |
总数目:1
R4(varbinary)      |
-------------------
0x04               |
总数目:1
RESULT(varbinary)      |
-----------------------
0x01020304             |
总数目:1