Sql Server 里的向上取整、向下取整、四舍五入取整的实例!

http://blog.csdn.net/dxnn520/article/details/8454132

==================================================== 【四舍五入取整截取】

select round(54.56,0)

==================================================== 【向下取整截取】

SELECT FLOOR(54.56)

==================================================== 【向上取整截取】

SELECT   CEILING(13.15)

以下转自:http://www.2cto.com/database/201209/156996.html

--MSSQL取整函数的使用

--两个整数相除将截断小数部分 
select 3/4,4/3,5/3 
--结果 0,1,1 
 
--返回大于或等于所给数字表达式的最小整数 
SELECT CEILING(123.55), CEILING(123.45),CEILING(-123.45), CEILING(0.0) 
--结果 124,124,-123,0 
 -- www.2cto.com  
--四舍五入 round(a,b) -- 结果a 精确到小数点右 b位,或是左 -b位
select round(54.36,-2), round(54.36,-1),round(54.36,0), round(54.36,1),round(54.36,2) 
--结果 100.00,50.00,54.00,54.40,54.36 
 
---四舍五入 并转化为 整数 
select cast(round(56.361,0) as int),cast(round(56.561,0) as int) 
--结果 56,57 
 
--举例使用 
 
---两个整数相除 舍弃小数部分( 全部都向前进位) 
declare @dividend decimal(20,2), @divisor decimal(20,2) 
 
set @dividend=3 
set @divisor=4 
select CEILING(@dividend/@divisor) 
--结果 1 
 
set @dividend=4 
set @divisor=3 
select CEILING(@dividend/@divisor) 
--结果 2 
 
set @dividend=5 
set @divisor=3 
select CEILING(@dividend/@divisor) 
--结果 2

---两个整数相除 四舍五入到整数 
set @dividend=3 
set @divisor=4 
select cast(round(@dividend/@divisor,0) as int) 
--结果 1 
 
set @dividend=4 
set @divisor=3 
select cast(round(@dividend/@divisor,0) as int) 
--结果 1 
 
set @dividend=5 
set @divisor=3 
select cast(round(@dividend/@divisor,0) as int)

--结果 2

==================================================== 【四舍五入取整截取】

select round(54.56,0)

==================================================== 【向下取整截取】

SELECT FLOOR(54.56)

==================================================== 【向上取整截取】

SELECT   CEILING(13.15)

时间: 2024-10-13 01:04:29

Sql Server 里的向上取整、向下取整、四舍五入取整的实例!的相关文章

Sql Server 里的向上取整、向下取整、四舍五入取整

==================================================== [四舍五入取整截取] select round(54.56,0) ==================================================== [向下取整截取] SELECT FLOOR(54.56) ==================================================== [向上取整截取] SELECT   CEILING(13.

SQL Server里因丢失索引造成的死锁

原文:SQL Server里因丢失索引造成的死锁 在今天的文章里我想演示下SQL Server里在表上丢失索引如何引起死锁(deadlock)的.为了准备测试场景,下列代码会创建2个表,然后2个表都插入4条记录. 1 -- Create a table without any indexes 2 CREATE TABLE Table1 3 ( 4 Column1 INT, 5 Column2 INT 6 ) 7 GO 8 9 -- Insert a few record 10 INSERT IN

SQL Server里如何随机记录集

今天的文章,我想给你简单介绍下SQL Server里如何随机记录集. 1 SELECT * FROM Person.Person 2 ORDER BY NEWID() 3 GO 这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作. 但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集. 在SQL Server里,简单但很强大的方法用来随机化你的记录集. 感谢关注!

汇总SQL Server里的相关运算符、子句、谓词等

汇总SQL Server里的相关运算符.子句.谓词等 (后续我会往后追加并不断对现有的进行完善和扩展) ◆ TOP1)TOP一般与ORDER BY结合使用,否则TOP出来的结果集没太大意义,除非您另有它意. 2)TOP返回数可以是变量,但必须用括号括入3)结合WITH TIES谓词选项,如果您返回4行,但最后1行有2条相同的结果,那么您TOP 4,最后1行就只是随意返回1行,保证不了结果集的正确性,如果您指定了WITH TIES, 则返回5行,ORDER BY后将最后2条相同的结果都返回,用法:

SQL Server里简单参数化的痛苦

在今天的文章里,我想谈下对于即席SQL语句(ad-hoc SQL statements),SQL Server使用的简单参数化(Simple Parameterization)的一些特性和副作用.首先,如果你的SQL语句包含这些,简单参数化不会发生: JOIN IN BULK INSERT UNION INTO DISTINCT TOP GROUP BY HAVING COMPUTE Sub Queries 一般来说,如果你处理所谓的安全执行计划(Safe Execution Plan),SQL

SQL Server里等待统计(Wait Statistics)介绍

在今天的文章里我想详细谈下SQL Server里的统计等待(Wait Statistics),还有她们如何帮助你立即为什么你的SQL Server当前很慢.一提到性能调优,对我来说统计等待是SQL Server了最重要的概念. 查询为什么等待 在SQL Server里每次你执行1个查询,查询总需要等待.什么?查询总需要等待?是的,你没有看错:但给你执行1个查询时,查询总需要等待.为什么查询需要等待的原因是SQL Server通过所谓的等待统计(Wait Statistics)来跟踪的.在我进入等

SQL Server里的INTERSECT

在今天的文章里,我想讨论下SQL Server里的INTERSECT设置操作.INTERSECT设置操作彼此交叉2个记录集,返回2个集里列值一样的记录.下图演示了这个概念. INTERSECT与INNER JOIN 你会发现,它和2个表间的INNER JOIN几乎一样.但今天我会介绍它们之间的一些重要区别.让我们从创建作为输入的2个简单表开始. 1 -- Create the 1st table 2 CREATE TABLE t1 3 ( 4 Col1 INT, 5 Col2 INT, 6 Co

SQL Server里Grouping Sets的威力

在SQL Server里,你有没有想进行跨越多个列/纬度的聚集操作,不使用SSAS许可(SQL Server分析服务).我不是说在生产里使用开发版,也不是说安装盗版SQL Server. 不可能的任务?未必,因为通过SQL Server里所谓的Grouping Sets就可以.在这篇文章里我会给你概括介绍下Grouping Sets,使用它们可以实现哪类查询,什么是它们的性能优势. 使用Grouping Sets的聚合 假设你有个订单表,你想进行跨多个分组的T-SQL聚集查询.在Adventur

SQL Server里的自旋锁介绍

在上一篇文章里我讨论了SQL Server里的闩锁.在文章的最后我给你简单介绍了下自旋锁(Spinlock).基于那个基础,今天我会继续讨论SQL Server中的自旋锁,还有给你展示下如何对它们进行故障排除. 为什么我们需要自旋锁? 在上篇文章我已经指出,用闩锁同步多个线程间数据结构访问,在每个共享数据结构前都放置一个闩锁没有意义的.闩锁与此紧密关联:当你不能获得闩锁(因为其他人已经有一个不兼容的闩锁拿到),查询就会强制等待,并进入挂起(SUSPENDED)状态.查询在挂起状态等待直到可以拿到