-- =============================================
-- Author: <Author,,CC>
-- Create date: <Create Date,, 2014-05-26 10:43:07.080>
-- Description: <Description,,小数点转换为百分数,并对第3位进行4舍5入>
-- Environment: <Version,, Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64))>
-- ============================================= /*------------------------------------------------------------------------
2种思路的计算方法:
1种是直接decimal 类型可以设置精度为4,小数位为2,这样会自动的把小数为3的数字进行四舍五入掉
2种是就是我们对小数点位数进行加法计算来满足达到四舍五入的条件(即变量+0.005)这个时候可以使用int类型
以下为实现方法:
--------------------------------------------------------------------------*/ ------------------------- 方法1 ---------------------------------------
declare @i int = 3
declare @it int = 7 select (@i*1.0)/@it [小数点]
-- 因为数据类型为int所以,需要*1.0来进行转换,如果直接是带有小数点位数可以跳过这一步 select ((@i*1.0)/@it)*100 [分子]
--把小数点转换为所需要的百分比分子值需要乘以100 select CAST( ((@i*1.0)/@it)*100 as decimal(5,0)) [4舍5入之后2位小数点的百分数]
--保留2位小数点,也是对小数位进行4舍5入的一步 select LTRIM(CAST( ((@i*1.0)/@it)*100 as decimal(5,0)))+'%' [百分数]
-- 加%号以合成百分比,也可以使用下面的方法来进行转换因为另外的一种方法,只能使用转换varchar类型 select CAST(CAST( ((@i*1.0)/@it)*100 as decimal(5,0)) as varchar(10))+ '%' [百分数] ------------------------- 方法2 -----------------------------------------
declare @i int = 3
declare @it int = 7 select (@i*1.0)/@it [小数点]
-- 因为数据类型为int所以,需要*1.0来进行转换,如果直接是带有小数点位数可以跳过这一步 select ((@i*1.0)/@it)+0.005 [4舍5入]
-- 对得到的结果进行+0.005以取得第三位小数点4四5入的结果 select (((@i*1.0)/@it)+0.005)*100 [带小数点的分子]
-- *100 把小数点转换为百分比的分子 select CAST((((@i*1.0)/@it)+0.005)*100 as int) [分子]
-- 把第2位小数点之后的数字进行截取,转换为整数 select CAST(CAST((((@i*1.0)/@it)+0.005)*100 as int) as varchar(10)) + '%' [百分数]
--把整型转换为字符型的数据类型,加上百分号

以上方法只是示例求得百分数,实际中可能需要根据数据类型和需求来进行微调

最新文章

  1. (转)对SQLSERVER数据库事务日志的疑问
  2. TLS版本
  3. c# winform 全角自动转化半角问题(C#中ImeMode的值):转载
  4. 在线学习体验大PK 云智慧发布在线教育网站性能监测报告
  5. [ucgui] 对话框7——按钮触发与模式窗口
  6. typedef 总结
  7. maven之(六)setting.xml的配置文件详解
  8. PPT自动载入图片并矩阵分布
  9. bind9的一些配置
  10. SqlSession 同步为注册,因为同步未激活
  11. WebView加载html5页面
  12. LeetCode(48)-Length of Last Word
  13. Locust 安装
  14. 2017-9-3模拟赛T2 取数(win)
  15. linux权限相关操作
  16. 05LaTeX学习系列之---TeX的命令行操作
  17. Codeforces Round #517 (Div. 2) C. Cram Time(思维+贪心)
  18. C#6.0语言规范(十一) 结构
  19. Ubuntu 安装hive + mysql
  20. ubuntu 12.04下 ns3的下载 安装

热门文章

  1. java的四种引用,强弱软虚
  2. Url转Link的C#正则表达式
  3. C++11 并发指南六( &lt;atomic&gt; 类型详解二 std::atomic )
  4. 微软BI 之SSIS 系列 - 再谈Lookup 缓存
  5. [公告]这里的博客将不再更新,最新博客请移步至blog.coderzh.com
  6. centos 关闭防火墙
  7. 匿名管道读取CMD回显信息
  8. SQL问题集锦
  9. 【VerySky原创】 ME9F
  10. 只写104行代码!在nopCommerce中如何实现自动生成网站地图