SQL trunc, floor


check the date interval
select sysdate,
sysdate -
(decode(mod(to_number(to_char(sysdate,'sssss')),300),0,300,
mod(to_number(to_char(sysdate,'sssss')),300))+300)/(24*60*60 )
st_time,
sysdate -
decode(mod(to_number(to_char(sysdate,'sssss')),300),0,300,
mod(to_number(to_char(sysdate,'sssss')),300))/(24*60*60 )
end_time
FROM dual;

select sysdate - interval '11' minute from dual;

Select * from timetab where time_id between (sysdate-((mod(extract(minute from systimestamp),5)+5)/24/60)-((extract(second from systimestamp))/24/60/60)) and (sysdate-((mod(extract(minute from systimestamp),5)/24/60)-((extract(second from systimestamp))/24/60/60));


trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
round(value,precision)根据给定的精度(precision)输入数值。
ceil (value) 产生大于或等于指定值(value)的最小整数,即向上取整。
floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数,即向下取整。
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、付费专栏及课程。

余额充值