Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

LISTAGG concatenação estranha


Apenas para adicionar alguma documentação sobre a função DUMP para outras pessoas que se deparam com essa questão.

Seu problema é interessante. Pelo que todos vocês descobriram, parece que a coluna está bem, pois a função de despejo está simplesmente mostrando que o campo é um campo Varchar2 mostrado pela saída da função de despejo - Typ=1. Colei abaixo uma imagem de alguns dos valores de tipo de dados de despejo que consegui documentar.



Colei abaixo um belo trecho de código para fornecer exemplos de como trabalhar com a função Dump do 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"
*/

Basicamente, localize a entidade que está preenchendo esses dados neste campo e corrija-a em sua origem se quiser se livrar desses caracteres estranhos.