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

decimal と bigint を除算するときのスケールはどのように定義されますか?

    引数 1:3 AS DECIMAL(19, 8)

    引数 2:27 AS DECIMAL (18, 0) -- デフォルトの精度は 18、デフォルトのスケールは 0 (BIGINT DECIMAL に変換されました タイプの優先順位による)

    p1 = 19
    p2 = 18
    s1 = 8
    s2 = 0
    

    例 1 を計算してみましょう:

    precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
    scale:     MAX(6, 8 + 18 + 1) = 27
    

    すべての例で、常に最大 27 スケールになります。

     0.111111111111111111111111111 (27)
    11.111111111111111111111111111 (27)
     0.005488934750153684025643277 (27)
    

    全体の部分は、必要な数字 (1)、(2)、(1) のみを取ります。

    私にとって、すべてが完全に有効です。

    この回答は @Paul White の作業に基づいています Decimal Truncation In divisionから .



    1. 動的SQLステートメントをSYS_REFCURSORに実行する

    2. MySQLリレーショナルデータベースをUbuntu12.04(Precise Pangolin)にデプロイする

    3. MySQLリモートアクセス用のSSHトンネルを作成する

    4. 異なるデバイス間でセッションを処理する方法は?