mssql sqlserver 取消数值四舍五入的方法分享

摘要:
P=6454最近,我们收到了一个用户请求,要求对数值数据进行舍入,不管后面有多少数据,最后发现舍入函数可以满足这个操作。

 
摘要:
下文讲述使用round sql函数,对数值型数据进行舍入操作
实验环境:sqlserver 2008

转自: http://www.maomao365.com/?p=6454



最近接到用户需求,需对数值型数据,无论后面数据多少,直接进行舍入操作,左思右想,终于发现了round函数可以满足此操作。
--------------------------------------------------
round函数舍入特性介绍:
round语法介绍:
round(数据表达式,长度[,操作方式])
----------------------
参数说明:
数据表达式:
接收一个tinyint、int、bigint、decimal、numeric、money、smallmoney、float、real
长度:
此参数须为tinyint int smallint类型
round函数舍入的精度
操作方式:
此参数须为tinyint int smallint类型
缺省值:为0,如果输入其它值,则将截断“数据表达式”
----------------------
返回值说明:
tinyint返回int
int 返回int
bigint 返回bigint
decimal numberic 返回decimal numberic
money smallmoney返回money
float real 返回float
-----------------------
<span style="color:red;">
注意事项:
当"长度"为正数时,则将小数点后舍入的位数
当"长度"为负数时,则将小数点前舍入的位数
</span>
 -----------------------------------------------------
round应用举例:

SELECT ROUND(8989.3652, 2), --小数位后保留2位,四舍五入
ROUND(8989.3652, -2),--小数位前舍入2位,四舍五入
---小数位全部舍入,四舍五入
ROUND(8956.34, 0),ROUND(8956.65, 0),ROUND(8956.25, 0), 
---截断数据舍入位置后的数据
ROUND(16081.83,0,-2), ROUND(16081.83,0,1), ROUND(16081.83,0,5),
ROUND(16081.835,2,8), ROUND(16081.836,-2,6), ROUND(16081.83,-2,7)
go

---例:sql取消四舍五入方法分享
---丢失小数位后两位,并不进行四舍五入操作
select round(8989.999,2,9)

免责声明:文章转载自《mssql sqlserver 取消数值四舍五入的方法分享》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php-xdebug配置使用一起谈.NET技术,.NET中锁6大处理方法 悲观乐观自己掌握 狼人:下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql

piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql 需要不个mssql的sql文件导入mysql.他们的时间戳格式不同..ms用的是自定义的时间戳 excel时间戳跟mssql的一样,ms系列的都是中个阿.. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:att...

在重命名SqlServer数据库时,报5030错误的解决办法

数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use master select spid from master.dbo.sysprocesses where dbid=db_id('数据库原名') 执行下面这条语句杀掉连接进程就OK了 use master kill 54...

SqlServer中使用Select语句给变量赋值的时候需要注意的一个问题

我们知道在SqlServer中可以用Select语句给变量赋值,比如如下语句就为int类型的变量@id赋值 1 declare @id int=-1; 2 3 select @id=id from 4 ( 5 select 1 as id 6 union all 7 select 2 as id 8 union all...

SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂

错误: SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂(签名应该为: 0x55555555,但实际为: 0x89021555)。在文件 'D:datadatabases.MDF' 中、偏移量为 0x000000051e0000 的位置对数据库 ID 7 中的页 (1:10480) 执行 读取 期间,发生了该错误。SQL Server 错...

sql server中字符串无法替换空格的问题

直接上代码: select case when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功' when 'workReport'=REPLACE(' workReport ',' ','') then 'replace去空格成功' when 'workReport'=REPLACE('...

C# 四舍五入算法(转)

在处理一些数据时,我们希望能用"四舍五入"法实现,但是C#采用的是"四舍六入五成双"的方法,如下面的例子,就是用"四舍六入五成双"得到的结果: doubled1=Math.Round(1.25,1);//1.2doubled2=Math.Round(1.24,1);//1.2doubled3=Math.Round(1.26,1);//1.3doubl...