sqlserver中計算結果保留小數

來源:互聯網
上載者:User

標籤:

經常要保留小數,在程式中計算太麻煩了,還要轉換操作。直接在資料庫中操作來得方便。
把資料類型定義成decimal/numeric類型,小數位看需要隨意設,除數與被除數必須要有一個為decimal/numeric中的類型,
如下例:
SELECT 24.0000/38.0000     --0                           
SELECT CAST(24/38 AS NUMERIC(18,4))         --0
SELECT CAST(24/38.0000 AS NUMERIC(18,4))    --0.6316 此結果已經四捨五入
SELECT 24.0000/38.0000     --0.6316

decimal/numeric與int類型運算時會得出decimal/numeric類型的結果,因為decimal/numeric的優先順序比int高。

 參照MSDN上的類型優先順序表:

SQL Server 2005 對資料類型使用以下優先順序順序:

    1. 使用者定義資料類型(最高)

    2. sql_variant

    3. xml

    4. datetime

    5. smalldatetime

    6. float

    7. real

    8. decimal

    9. money

    10. smallmoney

    11. bigint

    12. int

    13. smallint

    14. tinyint

    15. bit

    16. ntext

    17. text

    18. image

    19. timestamp

    20. uniqueidentifier

    21. nvarchar(包括 nvarchar(max)

    22. nchar

    23. varchar (包括 varchar(max)

    24. char

    25. varbinary(包括 varbinary(max)

    26. binary(最低)

sqlserver中計算結果保留小數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.