SQL取整函数round-四舍五入取整截取,FLOOR-向下取整截取,CEILING-向上取整截取

本文详细介绍了SQL中常用的取整函数,包括向上取整(CEILING)、向下取整(FLOOR)、四舍五入(ROUND)及截断(TRUNC)。通过具体实例展示了如何在SQL查询中使用这些函数,帮助读者理解和掌握不同场景下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sql 获取向上取整、向下取整、四舍五入取整的实例

来自:https://www.cnblogs.com/yangdunqin/p/sql_CEILING.html 

【四舍五入取整截取】

select round(54.56,0)

 【向下取整截取】

SELECT FLOOR(54.56)

 【向上取整截取】

 SELECT   CEILING(13.15)

--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) 

 

SQL中的取整函数FLOOR、ROUND、CEIL、TRUNC、SIGN

 来自:https://www.cnblogs.com/fashflying/p/6023036.html

1 trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
2 round(value,precision)根据给定的精度(precision)输入数值。
3 ceil (value) 产生大于或等于指定值(value)的最小整数。
4 floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数。
5 sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。

1,返回大于或等于x的最大整数:
SQL> select ceil(23.33) from dual;

CEIL(23.33)
-----------
24

2,返回等于或小于x的最大整数:
SQL> select floor(23.33) from dual;

FLOOR(23.33)
------------
23

3,返回舍入到小数点右边y位的x值:rcund(x,[y])
SQL> select round(23.33) from dual;

ROUND(23.33)
------------
23

4,返回截尾到y位小数的x值:trunc(x,[y])
SQL> select trunc(23.33) from dual;

TRUNC(23.33)
------------
23

5,返回x的符号
SQL> select sign(-23.33) from dual;

SIGN(-23.33)
------------
-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值