Usuário com melhor resposta
Converter nvarchar para float

Pergunta
-
Olá
Estou convertendo os campos de uma tabela que estão todos em varchar para tipos int, tynint e em alguns casos float, só que quando eu converto para float o sql apresento ao seguinte erro:
Msg 8114, Level 16, State 5, Line 1
Error converting data type nvarchar to float.
Alguém pode me ajudar.
Maurício
Respostas
Todas as Respostas
-
-
-
Olá Maurício,
Verifique se os registros em questão são numéricos com o ISNUMERIC. Ex:
SELECT * FROM TABELA WHERE ISNUMERIC(CAMPO) = 0
Se retornar algum registro, é por que ele não é numérico. Existem raras exceções, recomendo dar uma olhada no blog do Fabiano, há recomendações sobre essa função
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comCálcule o tamanho da queda da Petrobrás e da Vale com SQL
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!365.entry
Classifique as respostas. O seu feedback é imprescindível -
Gustavo,
O campo está como varchar(50) mas agora preciso passar para float para executar um update para outra tabela.
Inclusive as informações vem assim: 10,87055478
1,19859116
5,72056388
Pois primeiramente eu importei de um txt para o access e em seguida para o Sql Server e depois executei um cast do campo com divisão por 100000000 para inserir a virgula pois o campo estava sem virgula, sei onde a virgula deve ficar devido a um dicionario de dados que diz que o tamanho é de (11,8).
Eu executei um alter table pois as colunas subiram como varchar:
O Sql converteu para tynint, int, bigint
Mas float não
alter
table pessoas alter column Peso_ideal float
Resultado
Msg 8114, Level 16, State 5, Line 1Error converting data type nvarchar to float.
The statement has been terminated.
Aguardo Retorno
Maurício -
-
-
-