Sql serve - valor diferente
Pessoal estou com um pequeno problema em uma query
tenho uma tabela stage que tem uma coluna quantitativa varchar !!!
quando eu jogo esse coluna em outra tabela convertendo ela em decimal ou float, ela perde alguns valores
A query que usei para realizar a conversão foi essa
CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.'))
SELECT
alguem que possa me ajudar ?
tenho uma tabela stage que tem uma coluna quantitativa varchar !!!
quando eu jogo esse coluna em outra tabela convertendo ela em decimal ou float, ela perde alguns valores
A query que usei para realizar a conversão foi essa
CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.'))
SELECT
select SUM ((CAST(replace(qtdFat,',','.') AS float))) from db_stage_consigaz.[DBO].stage_consigaz select SUM ((CAST(replace(qtdFat,',','.') AS float))) from fact_consigaz (db_stage_consigaz.[DBO].stage_consigaz ) 2016762,48710003 (fact_consigaz ) 2016766,48
alguem que possa me ajudar ?
Lucas Lima
Curtidas 0
Respostas
Luiz Santos
28/11/2019
Lucas, teria que ver o seu processo de carga, para tentar entender essa diferença.
Sem converter para número, eles são iguais?
Sem converter para número, eles são iguais?
GOSTEI 0
Lucas Lima
28/11/2019
Lucas, teria que ver o seu processo de carga, para tentar entender essa diferença.
Sem converter para número, eles são iguais?
Sem converter para número, eles são iguais?
os dados sem converte na stage são assim
https://uploaddeimagens.com.br/imagens/conver-png
e pra usar a carga foi feito
Insert into Fato Select CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.')) from Fato
GOSTEI 0
Lucas Lima
28/11/2019
alguem ai que possa me ajudar ?
GOSTEI 0
Emerson Nascimento
28/11/2019
você está inserindo na tabela um conteúdo obtido dela mesma?
Insert into Fato Select CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.')) from Fato
GOSTEI 0
Lucas Lima
28/11/2019
você está inserindo na tabela um conteúdo obtido dela mesma?
LOL , eu fiz errado o Script aqui kkkkInsert into Fato Select CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.')) from Fato
mas no Banco está certinho está com a stage
Select CONVERT(decimal (15,4), REPLACE(SC.qtdfat,',','.')) from DB_Stage_Consigaz.dbo.Stage_Consigaz
GOSTEI 0
Emerson Nascimento
28/11/2019
você verificou a estrutura das tabelas? às vezes as tabelas têm estruturas diferentes.
GOSTEI 0
Lucas Lima
28/11/2019
você verificou a estrutura das tabelas? às vezes as tabelas têm estruturas diferentes.
eu ja olhei a coluna , uma estava como varchar e a outra eu coloquei como decimal (15,8)
e mesmo assim da uma diferença
a coluna stage (de onde vem os dados )
2016762.48710000
a coluna FATO
2016766.48000000
GOSTEI 0