8134: Divide by zero error encountered
SQL ServerNe demek?
Bir aritmetik ifadede bölen sıfır olduğu için sıfıra bölme hatası oluştu. SQL Server bölmeyi tamamlayamaz ve sorguyu durdurur.
Neden olur?
Bölen olarak kullanılan sütun veya ifadenin 0 değeri alması, ortalama/oran hesaplarında paydanın sıfır olması, NULLIF kullanılmadan sabit bir değere bölme veya beklenmedik sıfır veriler.
Nasıl çözülür?
Paydayı NULLIF ile koruyun (ör. deger / NULLIF(payda, 0)); sonuç NULL olur, ISNULL/COALESCE ile varsayılan verilebilir. CASE WHEN payda = 0 THEN NULL ELSE deger/payda END kullanın. Bölmeden önce WHERE ile sıfır değerleri filtreleyin. Gerekiyorsa SET ARITHABORT/ANSI_WARNINGS davranışını değerlendirin.
Aynı motorda diğer kayıtlar
- 701There is insufficient system memory in resource pool to run this query
- 845Time-out occurred while waiting for buffer latch
- 3201Cannot open backup device. Operating system error (backup device error)
- 245Conversion failed when converting the value to data type
- 515Cannot insert the value NULL into column
- 8115Arithmetic overflow error converting expression to data type
- 512Subquery returned more than 1 value