Usuário com melhor resposta
Converte nvarchar(4000) para numeric(18,2) sql server ou ssis

Pergunta
-
Olá Pessoal! Bom Dia.
4.7999999999999998
recebi uma base de dados de um cliente onde as colunas de numeros estão como varchar 4000 e seguem o seguinte formato:
coluna Minutos :
1.1000000000000001
0.5
5.4000000000000004
0.69999999999999996coluna Valor R$:
-2
-5
-10
-30100
5653quando tento converte exemplo convert(numeric(18,2) , valor) as Valor o resultado muitas vezes vem 300,00 ou 5653,00, sempre adicionando mais zeros que o necessario, quando coloco para float os valores não vem certos.
tentei usar o ssis, porem ainda não acertei na conversão.
Ednilton Santos
- Editado Ednilton Santos segunda-feira, 26 de dezembro de 2016 13:08 correção do titulo
Respostas
-
Deleted
- Marcado como Resposta Ednilton Santos terça-feira, 27 de dezembro de 2016 11:26
-
Deleted
- Marcado como Resposta Robson William Silva segunda-feira, 26 de dezembro de 2016 18:02
Todas as Respostas
-
Deleted
- Marcado como Resposta Ednilton Santos terça-feira, 27 de dezembro de 2016 11:26
-
O la á
tente assim
SELECT convert(numeric(18,0) , @numero1) as Valor
veja os exemplos
DECLARE @numero1 VARCHAR(4000) ='-5'; DECLARE @numero2 VARCHAR(4000) ='-2'; DECLARE @numero3 VARCHAR(4000) ='-10'; DECLARE @numero4 VARCHAR(4000) ='-30'; DECLARE @numero5 VARCHAR(4000) ='100'; DECLARE @numero6 VARCHAR(4000) ='5653'; -------------------------------------- SELECT convert(numeric(18,2) , @numero1) SELECT convert(numeric(18,2) , @numero2) SELECT convert(numeric(18,2) , @numero3) SELECT convert(numeric(18,2) , @numero4) SELECT convert(numeric(18,2) , @numero5) SELECT convert(numeric(18,2) , @numero6) --------------------------------------- SELECT convert(numeric(18,0) , @numero1) SELECT convert(numeric(18,0) , @numero2) SELECT convert(numeric(18,0) , @numero3) SELECT convert(numeric(18,0) , @numero4) SELECT convert(numeric(18,0) , @numero5) SELECT convert(numeric(18,0) , @numero6)
Wesley Neves
- Editado Wesley Neves segunda-feira, 26 de dezembro de 2016 13:56 correçao
-
Ola, Diz!!
Converter os minutos deu certo! só o valor que não.
ao aplicar o código que você me passou é exibido esta mensagem (Conversion failed when converting the nvarchar value '37.899999999999999' to data type int.)
eu não sei te dizer qual o maior valor por que é uma tabela que contem muitos dados, como faço para saber que estou errado é sempre somando tudo e comparando com o valor que mostra na ferramenta de BI
sobre a pergunta: Um valor de 0 a 59 ou um valor de 0 a 99? 0,59 e 18,9 foram os valores que já identificados no momento
Ednilton Santos
-
-
Deleted
- Marcado como Resposta Robson William Silva segunda-feira, 26 de dezembro de 2016 18:02
-
-