DBAtlas · Atlas de operações de banco de dados

8114: Error converting data type X to Y

SQL Server

O que significa?

Um valor não pôde ser convertido de um tipo de dado para outro porque os tipos são incompatíveis. Diferentemente do erro 245, geralmente trata-se de uma conversão de tipo que falhou no nível de parâmetro/expressão (por exemplo, varchar para numeric).

Por que acontece?

Enviar texto não numérico ou malformado para uma coluna/parâmetro numérico; estouro de escala/precisão; tentar converter uma string vazia ('') para numeric; ou passar um argumento de tipo errado em uma consulta parametrizada. Comum com conversões implícitas geradas por ORMs.

Como resolver

Verifique se os valores convertidos cabem no tipo de destino. Use TRY_CONVERT / TRY_CAST para conversão segura; eles retornam NULL em caso de falha, então você pode filtrar essas linhas com WHERE. Faça os tipos dos parâmetros corresponderem aos tipos das colunas. Varra os dados com ISNUMERIC/TRY_CAST para encontrar as linhas problemáticas e limpe as strings vazias.

Abrir no DBAtlas →

Mais entradas deste banco