Tentei isso, ainda está mantendo os dígitos decimais.
to_char(BOM.COMPONENT,'9999999999999999') é o que eu usei.
ainda a saída é 7153104.0000000.
Avalados por :
Tenho uma coluna de origem Oracle chamada COMPONENT decimal (28,7). Estou tentando carregar esta coluna no servidor SQL de destino, COMPONENT varchar(384).
Os dados de origem são como 7153104.0000000 , quero carregar esses dados no destino sem os valores decimais, como 7153104.
Tentei usar cast, to_char, mas ainda obtenho os dados no destino com valores decimais apenas. Como posso evitá-los?
cast(BOM.COMPONENT,'varchar(384)')
Quando tento isso, também recebo um aviso
[Consulta: Consulta]
A conversão de tipo de dados será usada para converter do tipo <varchar(64)> da expressão de mapeamento <to_char(BOM.COMPONENT,'varchar(384)')> para o tipo <decimal(28,7)> da coluna de destino <COMPONENT>. (BODI-1110410)
Tentei isso, ainda está mantendo os dígitos decimais.
to_char(BOM.COMPONENT,'9999999999999999') é o que eu usei.
ainda a saída é 7153104.0000000.
Deveria funcionar para você:
to_char(7153104.0000000, '9999999999999999');
Olá
Se sua coluna de destino é COMPONENT varchar(384), então você deve investigar por que está recebendo a mensagem ... para escrever <decimal(28,7)> na coluna destino <COMPONENT>.
Se você tiver várias transformações, verifique se o tipo de dados correto está especificado para esta coluna em todas as transformações.
Michael
Olá samuel v ,
Se você tem certeza de que os dados armazenados nesta coluna são sempre um número e nunca serão um número decimal (no entanto, sua coluna de origem definiu este campo como decimal), então você pode codificar diretamente como mostrado abaixo:
cast(cast( BOM.COMPONENT ,'int'),'varchar(384)')
Primeiro, o código acima será convertido em um número inteiro e então no tipo de dados da sua coluna de destino. Isso removerá as precisões (.0000000) do número. Agora você não deve receber nenhum aviso.
Se a coluna contiver algo como 7153104.1570000 então você precisa usar decimal em vez de int ao fazer o cast no código acima, caso contrário você perderá alguns valores.
Espero que isso ajude. Deixe-nos saber se funcionar.
Saudações,
MSA
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute