您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

总结分享Oracle日期函数

2024/5/13 10:13:33发布46次查看
本篇文章给大家带来了关于oracle的相关知识,其中主要介绍了一些常用的日期函数相关问题,包括了sysdate、add_months、last_day、trunc、round等等,希望对大家有帮助。
推荐教程:《oracle教程》
系统日期、时间函数sysdate函数该函数没有参数,可以得到系统的当前时间。
案例代码:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
结果:
systimestamp函数该函数没有参数,可以得到系统的当前时间,该时间包含时区信息,精确到微秒。
案例代码
select systimestamp from dual;
结果:
数据库时区函数dbtimezone函数该函数没有输入参数,返回数据库时区。
案例代码:
select dbtimezone from dual;
结果:
给日期加上指定的月份函数:
add_months(r,n)函数该函数返回在指定日期r上加上一个月份数n后的日期。其中
r:指定的日期。
n:要增加的月份数,如果n为负数,则表示减去的月份数。
案例代码:
select to_char(add_months(to_date('2018-11-12', 'yyyy-mm-dd'), 1),               'yyyy-mm-dd'),       to_char(add_months(to_date('2018-10-31', 'yyyy-mm-dd'), 1),               'yyyy-mm-dd'),       to_char(add_months(to_date('2018-09-30', 'yyyy-mm-dd'), 1),               'yyyy-mm-dd')  from dual;
结果:(如果指定的日期是月份的最后一天,返回的也是新的月份的最后一天,如果新的月份比指定的月份日期少,将会自动调回有效日期)
月份最后一天函数last_day(r)函数返回指定r日期的当前月份的最后一天日期。
案例代码:
select last_day(sysdate) from dual;
结果:
指定日期后一周的日期函数:
next_day(r,c)函数返回指定r日期的后一周的与r日期字符(c:表示星期几)对应的日期。
案例代码:
 select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;
结果:
返回指定日期中特定部分的函数extract(time)函数返回指定time时间当中的年、月、日、分等日期部分。
案例代码:
select extract(year from timestamp '2018-11-12 15:36:01') as year,       extract(month from timestamp '2018-11-12 15:36:01') as month,       extract(day from timestamp '2018-11-12 15:36:01') as day,       extract(minute from timestamp '2018-11-12 15:36:01') as minute,       extract(second from timestamp '2018-11-12 15:36:01') as second  from dual;
结果:
返回两个日期间的月份数:
months_between(r1,r2)函数该函数返回r1日期和r2日期直接的月份。当r1>r2时,返回的是正数,假如r1和r2是不同月的同一天,则返回的是整数,否则返回的小数。当r1 案例代码:
select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),                      to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数       months_between(to_date('2018-11-12', 'yyyy-mm-dd'),                      to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数       months_between(to_date('2017-11-12', 'yyyy-mm-dd'),                      to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数  from dual;
结果:
日期截取函数round(r[,f])函数将日期r按f的格式进行四舍五入。如果f不填,则四舍五入到最近的一天。
案例代码:
select sysdate, --当前时间       round(sysdate, 'yyyy') as year, --按年       round(sysdate, 'mm') as month, --按月       round(sysdate, 'dd') as day, --按天       round(sysdate) as mr_day, --默认不填按天       round(sysdate, 'hh24') as hour --按小时  from dual;
结果:
trunc(r[,f])函数将日期r按f的格式进行截取。如果f不填,则截取到当前的日期。
案例代码:
select sysdate, --当前时间       trunc(sysdate, 'yyyy') as year, --按年       trunc(sysdate, 'mm') as month, --按月       trunc(sysdate, 'dd') as day, --按天       trunc(sysdate) as mr_day, --默认不填按天       trunc(sysdate, 'hh24') as hour --按小时  from dual;
结果:
推荐教程:《oracle学习教程》
以上就是总结分享oracle日期函数的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product