Converter varchar(50) por Valores

SQL Server

SQL

MySQL

20/02/2017

Boa Tarde,

Preciso da ajuda de voces

Estou com uma tabela, e preciso transformar uma coluna em valores, porém quando mudo o tipo para numeric, ou money, a mensagem de "Não é possível converter um valor char em money. A sintaxe do valor char está incorreta". está aparecendo.

Alguem poderia me ajudar?
Italo Augusto

Italo Augusto

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

20/02/2017

Boa noite, já tentou dar um cast na consulta SQL, dessa forma o resultado da consult ajá será no formato desejado>


Select cast(campo as DECIMAL(12,2)) from tabela


Só de uma olhada como o cast é feito para o banco de dados que esta utilizando, para bancos de dados como MySQl tbm esta disponivel o convert

espero ter ajudado,

Abraços
GOSTEI 1

Mais Respostas

Jones Granatyr

Jones Granatyr

20/02/2017

Opa! Consegue colocar aqui um exemplo de valor que tem na coluna?
GOSTEI 0
Luiz Santos

Luiz Santos

20/02/2017

Ítalo.

Um erro muito comum que costuma acontecer é que as vezes os valores vindo como char, retornam virgula ( , ) em vez de ponto ( . ) para separar as casas decimais.

É interessante para garantir, se for esse o problema, um replace antes de usar o cast / convert

Grande abraço
GOSTEI 0
Italo Augusto

Italo Augusto

20/02/2017

Bom dia,

O erro abaixo abaixo quando executo a consulta.

"Erro ao converter tipo de dados varchar em numeric"
GOSTEI 0
Italo Augusto

Italo Augusto

20/02/2017

Bom dia,

O erro abaixo abaixo quando executo a consulta.

"Erro ao converter tipo de dados varchar em numeric"


Tentei usar " Select cast([Valor do Custo] as DECIMAL(12,2)) from Marco "
GOSTEI 0
Italo Augusto

Italo Augusto

20/02/2017

Opa! Consegue colocar aqui um exemplo de valor que tem na coluna?




Valor da Venda
4,22
0,48
3,45
10,64
1,98
7,99
5,58
4,1
3,9
GOSTEI 0
Luiz Santos

Luiz Santos

20/02/2017

Italo.


SELECT CONVERT(NUMERIC(18,2), REPLACE(VALOR,',','.')) FROM TABELA

GOSTEI 0
Italo Augusto

Italo Augusto

20/02/2017

Italo.


SELECT CONVERT(NUMERIC(18,2), REPLACE(VALOR,',','.')) FROM TABELA

Luiz

O erro ainda persisti "Erro ao converter tipo de dados varchar em numeric."
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

20/02/2017

SELECT CAST(REPLACE(VALOR,',','.') AS FLOAT) FROM TABELA
GOSTEI 1
Italo Augusto

Italo Augusto

20/02/2017

SELECT CAST(REPLACE(VALOR,',','.') AS FLOAT) FROM TABELA


Não sei o porque, mais o erro ainda continua. "Erro ao converter tipo de dados varchar em float."
GOSTEI 0
POSTAR