函数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