zoukankan      html  css  js  c++  java
  • sqlserver中计算结果保留小数

    经常要保留小数,在程序中计算太麻烦了,还要转换操作。直接在数据库中操作来得方便。
    把数据类型定义成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(最低)
  • 相关阅读:
    双击返回 退出程序
    读取InputStream 中的内容
    wsgi服务器
    python 中的GIL
    json
    __getattr__
    错误类型
    __slot__用法
    获取属性以及基本方法
    linux IO
  • 原文地址:https://www.cnblogs.com/sg1991/p/4242649.html
Copyright © 2011-2022 走看看