Sql语句四舍五入的几种方法

Access函数

Int返回小于或等于指定数值表达式的最大整数。

SQLServer函数

FLOOR 返回小于或等于指定数值表达式的最大整数。

 

CEILING 返回大于或等于指定数值表达式的最小整数。

 

项目中常常需要获取经过四舍五入后保留两位小数的数值,根据项目需求或者限制,有时候只能在SQL语句中进行四舍五入。以下是经过整理,在SQL Service 2005/2008中 四舍五入并保留两位小数的方法:

--@number为要进行四舍五入的数字

DECLARE @number decimal(18,2)

SET @number=163.1

   

PRINT @number/28

--结果:5.825000

   

--使用CONVERT进行四舍五入

PRINT CONVERT(DECIMAL(18,2),@number/28)

--结果:5.83

   

--使用CAST进行四舍五入

PRINT CAST(@number/28 AS DECIMAL(18,2))

--结果:5.83

   

--使用ROUND函数四舍五入,需要转换保留两位小数

PRINT CAST(ROUND(@number/28,2) AS DECIMAL(18,2))

--结果:5.83

   

--使用STR函数则需要去除左边空格,否则左边会留空白符

PRINT LTRIM(STR(@number/28,18,2))

--结果:5.83

     

作者:十有三

出处:http://shiyousan.com/post/e60ad9fc-74f0-4ded-bd83-420802c38a68

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。

posted @ 2018-02-24 08:59  后凤凰  阅读(3752)  评论(0编辑  收藏  举报