sql >> データベース >  >> RDS >> Sqlserver

暗黙の変換と丸め

    これは私を読んでもらい、答えは明らかに満足のいくものではないようです。私が見つけた最も初期のSQLリファレンス(ANSI92が利用可能ここ )セクション4.4.1数値の特徴

    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
    

    ここ




    1. MAX(DATE)を使用したGROUP BY

    2. 即時実行での一括収集制限

    3. OracleSQL-週ごとのデータの合計とグループ化

    4. 複数のキャッシュアイテムを回避するために、データベースへのアクセスをキューに入れます