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

8134: Divide by zero error encountered (erreur de division par zéro)

SQL Server

Que signifie cette erreur ?

Une erreur de division par zéro s'est produite, car le diviseur d'une expression arithmétique est nul. SQL Server ne peut pas effectuer la division et arrête la requête.

Cause

Colonne ou expression utilisée comme diviseur valant 0, dénominateur nul dans des calculs de moyenne/de ratio, division sans NULLIF, ou valeurs nulles inattendues dans les données.

Comment la corriger

Protégez le dénominateur avec NULLIF (par ex. value / NULLIF(denominator, 0)) ; le résultat devient NULL et une valeur par défaut peut être fournie avec ISNULL/COALESCE. Utilisez CASE WHEN denominator = 0 THEN NULL ELSE value/denominator END. Filtrez les valeurs nulles avec WHERE avant la division. Si nécessaire, évaluez le comportement de SET ARITHABORT/ANSI_WARNINGS.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur