CONVERSÃO DE DADOS DE UMA SUBSTRING
01/07/2019
0
Precisando de ajuda
Preciso converter os dados de uma base de dados, os dados estão como NVARCHAR e preciso realizar cálculo então montei conforme abaixo, mas ainda não consegui concluir, sempre dá erro.
SELECT
N_transporte
,sum([PESO_DE_CARGA]) [Peso_de_carga_permitido]
,sum([PESO_TOTAL]) [Peso_total]
,sum([QUANTIDADE_2]) [Quantidade]
,sum([VALOR_FRETE]) [Valor frete]
,avg([CUSTOS_FRETE_REAIS]) [Custos frete reais]
,avg([TARIFA_FRETE]) [Tarifa frete]
FROM(
SELECT
CASE ISNUMERIC (Quantidade) WHEN 1 THEN CONVERT (NUMERIC (18,2), Quantidade)
ELSE 0.00
END
AS QUANTIDADE_2
, CASE ISNUMERIC (Peso_de_carga_permitido) WHEN 1 THEN CONVERT (NUMERIC (18,2), Peso_de_carga_permitido)
ELSE 0.00
END
, CASE ISNUMERIC (Peso_total) WHEN 1 THEN CONVERT (NUMERIC (18,2), Peso_total)
ELSE 0.00
END
, CASE ISNUMERIC (Valor_frete) WHEN 1 THEN CONVERT (NUMERIC (18,2), Valor_frete)
ELSE 0.00
END
, CASE ISNUMERIC (Custos_frete_reais) WHEN 1 THEN CONVERT (NUMERIC (18,2), Custos_frete_reais)
ELSE 0.00
END
, CASE ISNUMERIC (Tarifa_frete) WHEN 1 THEN CONVERT (NUMERIC (18,2), Tarifa_frete)
ELSE 0.00
END FROM FRETE_BASE GROUP BY N_transporte)
Obrigada.
Karolina
Posts
02/07/2019
Alex William
Já tentou usar CAST ao invés de CONVERT ????
Poderia postar o erro que aparece?
Obrigado.
02/07/2019
Luiz Santos
O comando parece certo.
Que erro ele está retornando?
02/07/2019
Luiz Santos
Tente montar dessa forma que estou passando.
SELECT CASE WHEN ISNUMERIC(TESTE) = 1 THEN CONVERT(NUMERIC(18,2), TESTE) ELSE 0.00 END [TESTE CASE] FROM #TESTE
Grande abraço
Clique aqui para fazer login e interagir na Comunidade :)