Oracle
 sql >> Database >  >> RDS >> Oracle

LISTAGG strana concatenazione

Giusto per aggiungere della documentazione sulla funzione DUMP per gli altri che si imbattono in questa domanda.

Il tuo problema è interessante. Da quello che tutti voi avete capito sembra che la colonna vada bene poiché la funzione dump sta semplicemente mostrando che il campo è un campo Varchar2 mostrato dall'output della funzione dump - Typ=1. Ho incollato sotto un'immagine di alcuni dei valori di Dump Data Type che sono stato in grado di documentare.

Di seguito ho incollato un bel frammento di codice per fornire esempi di utilizzo della funzione Dump di Oracle.

SELECT 
    DUMP(to_date('15-JAN-18'),10,1,1) AS date_type
  , DUMP(123,10,1,1)   AS num_type
  , DUMP('abc',10,1,1) AS var_or_char_type
FROM dual
;

/* OUTPUT: 
 |
 | "DATE_TYPE"          "NUM_TYPE"          "VAR_OR_CHAR_TYPE"
 |--------------------|-------------------|------------------
 | "Typ=13 Len=8: 226"  "Typ=2 Len=3: 194"  "Typ=96 Len=3: 97"
*/

Fondamentalmente, individua l'entità che sta popolando questi dati in questo campo e correggila alla fonte se vuoi sbarazzarti di questi strani personaggi.