广东信息吧 关注:55贴子:460
  • 0回复贴,共1

ORACLE SQL数字函数和时间函数

只看楼主收藏回复

作者:邹爱红 撰写时间:2019/4/8
数字函数:
Round四舍五入
五以上的都是入一,四以下的都是舍去
注意:看它保留到哪一位就看后一位
格式:round(四舍五入的数字,保留几位小数)
例子1:
select round(45.965,2)
from table;
结果:45.97
如果是-1的话,-1保留十位小数,0是个位,因为-1必须要保留十位整数,然后就看后面那个数小于5的话就舍去,大于5就进一,进一了就没有了,就要用0来补上
-1是保留十位,-2就是要保留百位,以此类推
例子2:
select round(456.064,-1)
from table;
结果:460
Trunc直接截断
Trunc和substr它们之间的关系是:substr截取的是从哪个位置开始截,然后留后面几位数, Trunc截断是直接去掉后面的
格式:trunc(截断的数字,截断保留几位数)
select trunc(45.964,2)
from table;
结果:45.96
Mod求余
数字函数 MOD(求余),MOD(x,y):返回x除以y的余数,整除则返回0
select mod(1600,300)from table;
结果:100
时间函数:
SYSDATE 返回当前时间
语法:
select sysdate
from 表名;
months_between 相差月数
时间函数 MONTHS_BETWEEN(返回两个时间相差的月数)可以计算出相差多少月
例子:
select MONTHS_BETWEEN('01-3月-97','01-3月-93')
from table;
结果:48个月
extract 可以截取日期月份年份
格式:extract(month from 字段)
add_months 添加月数
时间函数 ADD_MONTHS(向指定日期添加月数)添加七个月
select add_months('01-3月-97',7)
from table;
结果:1997/10/1
时间函数 NEXT_DAY(指定日期的下一个星期X对应的日期)
下一个星期今天是多少号 next_day
星期格式为:周日为1,依次增加,最大不能超过7
到下个星期的今天是多少号
select next_day('11-3月-2019',1)
from table;
last_day 本月的最后一天
计算本月的最后一天
--时间函数 LAST_DAY(本月的最后一天)
select last_day('20-2月-2019')
from table;
结果:2019/2/28
trunc截断
就是直接清掉后面的 因为日期没有0号,所以就默认是1,
日期可以截断, 截断就是直接不用后面的 从月份开始截断,
四舍五入round ,格式都是一样的用法
select trunc(to_date('2019-02-2810:21:15','yyyy"-"mm"-"ddhh":"mi":"ss'),'month')
from table;
结果:2019/2/1


1楼2019-04-08 09:58回复