函数DB2表函数

有人知道如何在DB2中获得该结果:函数DB2表函数

查询

Example : 

SELECT * FROM TABLE(FunctionName('1||2||3',||)) ;

首先一个是具有值的参数和第二个是分隔符。

结果:我把对查询

Column 

1

2

3

值是根据参数和分隔符。

正如我上面所说的那样,行被管断开。我没有PL/SQL的庞大背景。

使用DB2 V11.1

回答:

所以我一直都面临着这样的问题,我为它找到一个解决方案:

CREATE OR REPLACE FUNCTION Test(

Data_1 CLOB(1M), Delimtator VARCHAR(12))

RETURNS TABLE (

FieldData varchar(2048))

LANGUAGE SQL

BEGIN

DECLARE dInic INTEGER DEFAULT 1 ;

DECLARE dFim INTEGER DEFAULT 0 ;

DECLARE Rowid1 INTEGER DEFAULT 0;

DECLARE Campo VARCHAR(2048);

IF Data_1 IS NULL THEN

RETURN;

END IF;

SET dFim=LOCATE(Delimtator,Data_1);

WHILE dFim>0 DO

SET Campo=SUBSTRING(Data_1,dInic,dFim-dInic);

PIPE (Campo);

SET dInic=dFim+LENGTH(Delimtator);

SET dFim=LOCATE(Delimtator,Data_1,dFim+LENGTH(Delimtator));

END WHILE;

SET Campo=SUBSTRING(Data_1, dInic,LENGTH(Data_1)-dInic+1);

PIPE (Campo);

RETURN;

[email protected]

以上是 函数DB2表函数 的全部内容, 来源链接: utcz.com/qa/265118.html

回到顶部