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;