SQL
CREATE OR REPLACE FUNCTION "TRESC" (cadena in NVARCHAR2)
RETURN NVARCHAR2
AS
resultat nvarchar2(100);
BEGIN
/* Donada una cadena, tornar les tres lletres primeres de cada paraula */
WITH paraules AS (
SELECT REGEXP_SUBSTR(cadena, '[^ ]+', 1, LEVEL) AS paraula
FROM dual
CONNECT BY REGEXP_SUBSTR(cadena, '[^ ]+', 1, LEVEL) IS NOT NULL
)
SELECT LISTAGG(SUBSTR(paraula, 1, 3), ' ') WITHIN GROUP (ORDER BY ROWNUM) AS dades into resultat
FROM paraules;
RETURN resultat;
END;