Ich versuche, eine gespeicherte Prozedur zu schreiben, und ich bekomme unerwartete Division durch 0 Ausnahmen.SQL Server Dezimalvariable Zuweisung?
Ich habe es auf das folgende Beispiel eingegrenzt.
Warum in der Welt tut dies:
declare @A decimal;
declare @B decimal;
declare @C decimal;
set @A = 4;
set @B = 9;
set @C = @A/@B
select @A/@B as 'Expected'
select @C as 'Wut'
Ergebnis in diesem?
Expected
---------------------------------------
0.4444444444444444444
(1 row(s) affected)
Wut
---------------------------------------
0
(1 row(s) affected)
eine richtige Antwort erhalten ich die OP Verwirrung sehen kann, obwohl, da Teilung zwei Dezimalstellen ohne Skala * tut * zeigt die Nachkommastellen – LittleBobbyTables