关于数据库ceil()函数,floor()函数,round()函数和trunc()函数

本文详细解析了数据库中常用的数值处理函数:trunc(), round(), ceil() 和 floor() 的工作原理及用法。包括如何使用这些函数进行数值的截断、四舍五入、向上取整和向下取整,以及它们在实际场景中的应用示例。

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

关于数据库ceil()函数,floor()函数,round()函数和trunc()函数

其具体的语法格式:

TRUNC(number[,decimals])
 
  • 1

其中: number 待处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截取所有的小数部分。

    select trunc(123.11)from dual;
    select trunc(123.11,2)from dual;
    select trunc(123.11,-1)from dual;
 
  • 1
  • 2
  • 3

注意:第二个参数可以为负数,表示小数点左边指定位数后面的部分截去,即均以0。与取整类似,比如参数为1即取到十分位,如果为-1,则取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:trunc(5.122,-3)=0

2,round()函数(四舍五入)
传回一个数值,该数值是按照指定的小数位元数据进行四舍五入运算的结果。
格式如下:

 ROUND(number,[decimal_places])
 
  • 1

参数解释:
number:欲处理的数值
decimal_places:四舍五入,小数取几位(预设为0)

select round(123.456,0) from dual;      //123
select round(123.456,1) from dual;     //123.5
select round(123.456,2) from dual;     //123.46
 
  • 1
  • 2
  • 3

3,ceil()函数和floor()函数
ceil(n) 取大于等于数值n的最小整数;
floor(n) 取小于等于数值n的最小整数;

测试结果

对于这几个函数应用:
对于员工,查询其加入公司的天数。

select floor(sysdate-hiredate) "入职天数",ename from emp;
//或者
select trunc(sysdate-hiredate)"入职天数",ename from emp;
 
  • 1
  • 2
  • 3
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet">
            </div>
								
				<script>
					(function(){
						function setArticleH(btnReadmore,posi){
							var winH = $(window).height();
							var articleBox = $("div.article_content");
							var artH = articleBox.height();
							if(artH > winH*posi){
								articleBox.css({
									'height':winH*posi+'px',
									'overflow':'hidden'
								})
								btnReadmore.click(function(){
									articleBox.removeAttr("style");
									$(this).parent().remove();
								})
							}else{
								btnReadmore.parent().remove();
							}
						}
						var btnReadmore = $("#btn-readmore");
						if(btnReadmore.length>0){
							if(currentUserName){
								setArticleH(btnReadmore,3);
							}else{
								setArticleH(btnReadmore,1.2);
							}
						}
					})()
				</script>
				</article>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值