Das brachte mich zum Lesen und die Antwort scheint ausgesprochen unbefriedigend zu sein, Die früheste SQL-Referenz, die ich finden konnte (ANSI 92 verfügbar hier ) im Abschnitt 4.4.1 Eigenschaften von Zahlen besagt, dass
Was es Microsoft überlässt, welche der beiden sie für T-SQL implementiert haben, und ich nehme an, der Einfachheit halber haben sie sich für die Kürzung entschieden. Aus dem Wikipedia-Artikel zum Runden es scheint, dass dies damals keine ungewöhnliche Entscheidung war.
Es ist interessant festzustellen, dass laut der Dokumentation, die ich gefunden habe, nur Konvertierungen in Ganzzahlen zu einer Kürzung führen, die anderen zu einer Rundung. Obwohl aus irgendeinem bizarren Grund die Umwandlung von money
zu integer
scheint sich dem Trend zu widersetzen, da er runden darf.
From To Behaviour
numeric numeric Round
numeric int Truncate
numeric money Round
money int Round
money numeric Round
float int Truncate
float numeric Round
float datetime Round
datetime int Round
Tabelle aus hier .