CREATE OR REPLACE FUNCTION get_str(tmp_id NUMBER)
RETURN VARCHAR2
IS
Col_str VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT str FROM t WHERE id=tmp_id) LOOP
IF Col_str IS NULL THEN
Col_str := cur.str;
ELSE
Col_str := Col_str||';'||cur.str;
END IF;
END LOOP;
Col_str := rtrim(Col_str,1);
RETURN Col_str;
END;
/
SQL> select distinct id ,get_str(id) cstr from test;
RETURN VARCHAR2
IS
Col_str VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT str FROM t WHERE id=tmp_id) LOOP
IF Col_str IS NULL THEN
Col_str := cur.str;
ELSE
Col_str := Col_str||';'||cur.str;
END IF;
END LOOP;
Col_str := rtrim(Col_str,1);
RETURN Col_str;
END;
/
SQL> select distinct id ,get_str(id) cstr from test;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货