DBAtlas · Atlas d'exploitation des bases de données

8114: Error converting data type X to Y

SQL Server

Que signifie cette erreur ?

Une valeur n'a pas pu être convertie d'un type de données vers un autre car les types sont incompatibles. Contrairement à l'erreur 245, il s'agit généralement d'un échec de conversion de type au niveau d'un paramètre/d'une expression (par ex. varchar vers numeric).

Cause

Envoi d'un texte non numérique ou mal formé vers une colonne/un paramètre numérique ; dépassement d'échelle/de précision ; tentative de conversion d'une chaîne vide ('') en numérique ; ou passage d'un argument de mauvais type dans une requête paramétrée. Fréquent avec les conversions implicites générées par les ORM.

Comment la corriger

Vérifiez que les valeurs converties tiennent dans le type cible. Utilisez TRY_CONVERT / TRY_CAST pour une conversion sûre ; ils renvoient NULL en cas d'échec, ce qui permet de filtrer ces lignes avec WHERE. Alignez les types des paramètres sur ceux des colonnes. Parcourez les données avec ISNUMERIC/TRY_CAST pour trouver les lignes fautives, et nettoyez les chaînes vides.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur