Oracle
 sql >> Base de données >  >> RDS >> Oracle

Concaténation étrange LISTAGG

Juste pour ajouter de la documentation sur la fonction DUMP pour les autres qui rencontrent cette question.

Votre problème est intéressant. D'après ce que vous avez tous compris, il semble que la colonne soit correcte car la fonction de vidage montre simplement que le champ est un champ Varchar2 indiqué par la sortie de la fonction de vidage - Typ=1. J'ai collé ci-dessous une image de certaines des valeurs de type de données de vidage que j'ai pu documenter.

J'ai collé ci-dessous un joli extrait de code pour fournir des exemples d'utilisation de la fonction Dump d'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"
*/

Fondamentalement, localisez l'entité qui remplit ces données dans ce champ et corrigez-la à sa source si vous souhaitez vous débarrasser de ces caractères étranges.