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(最低)
  • 相关阅读:
    Java入门(6)方法
    重构改善已有代码
    .NET面试题系列(八)电商瞬时抢购的方案
    .NET面试题系列(七)IIS
    设计模式综述
    基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合测试
    acl.go
    单机部署-consul
    baseFileWriter.go
    config.go
  • 原文地址:https://www.cnblogs.com/sg1991/p/4242649.html
Copyright © 2011-2022 走看看