これは私を読んでもらい、答えは明らかに満足のいくものではないようです。私が見つけた最も初期のSQLリファレンス(ANSI92が利用可能
T-SQLに実装することを選択したのはMicrosoftに任されており、簡単にするために切り捨てを選択したと思います。 丸めに関するウィキペディアの記事 から 当時、これは珍しい決断ではなかったようです。
私が見つけたドキュメントによると、整数への変換のみが切り捨てを引き起こし、他の変換は丸めを引き起こすことに注意するのは興味深いことです。いくつかの奇妙な理由でmoney
からの変換が integer
ラウンドが許可されているため、トレンドに逆行しているようです。
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
ここ 。