Dette fik mig til at læse, og svaret ser ud til at være tydeligt utilfredsstillende. Den tidligste SQL-reference, jeg har været i stand til at finde (ANSI 92 tilgængelig her ) i afsnit 4.4.1 Karakteristika for tal anfører, at
Hvilket lader det være op til Microsoft, hvilken af de to de valgte at implementere til T-SQL, og jeg går ud fra for nemheds skyld, at de valgte trunkering. Fra wikipedia-artiklen om afrunding det lader til, at dette ikke var en ualmindelig beslutning dengang.
Det er interessant at bemærke, at ifølge den dokumentation, jeg fandt, kun konverteringer til heltal forårsager trunkering, de andre forårsager afrunding. Selvom konverteringen fra money
af en eller anden bizar grund til integer
ser ud til at modvirke tendensen, da den får lov til at runde.
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
Tabel fra her .