sql >> Databáze >  >> RDS >> Oracle

Implementace funkce Listagg Overflow (Oracle SQL)

S trochou pomoci XML by to mohlo fungovat. Příklad je založen na HR schématu.

SQL> select
  2    listagg(s.department_name, ',') within group (order by null) result
  3  from departments s, departments d;
from departments s, departments d
     *
ERROR at line 3:
ORA-01489: result of string concatenation is too long


SQL>
SQL> select
  2  rtrim(xmlagg(xmlelement (e, s.department_name || ',')).extract
  3    ('//text()').getclobval(), ',') result
  4  from departments s, departments d;

RESULT
--------------------------------------------------------------------------------
Administration,Administration,Administration,Administration,Administration,Admin

SQL>


  1. dotaz mysql v rámci dotazu s kontrolou stavu soukromí

  2. Použití `SELECT` k volání funkce

  3. Získejte poslední záznam z každého měsíce

  4. přidání měsíců k datu SQL