Oracle中日期函数有哪些


这篇文章主要介绍了Oracle中日期函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 SYSDATE函数没有参数,它返回数据库服务器当前的系统日期和时间。 select sysdate 免费云主机域名from dual; Date1-Date2=Num1可以从另一个日期中减去日志。这两个日期项之间的差值表示它们之间的天数。可以将所有数字(包括小数)添加到日期项或者从日期项中减去。在该上下文中,数字表示天数。数字和日期项之间的和或者差值总是返回日期项。不允许相加、相乘或者相除两个日期项。 select to_date(’31-jan-01′)-to_date(’01-jan-01′) from dual; select sysdate + 1 from dual; MONTHS_BETWEEN函数返回表示两个强制的日期参数之间月数的数值。语法:MONTHS_BETWEEN(date1,date2)。计算date1和date2之间朋份的差值(每月31天)。如果date1在date2之前就反加负数。这两个日期参数之间的差值可能由整数和小数部分组成。整数表示这两个日期之间的朋数。小数部分表示计算年和月之间整数差值这后剩余的天数和时间,以31天的月份为基础。如果要比较的日期的日组成部分相同或者是各自月份的最后一天,那么就返回没有小数部分的整数。 select months_between(sysdate,sysdate-31) from dual; select months_between(’29-mar-2008′,’28-feb-2008′) from dual; select months_between(’29-mar-2008′,’28-feb-2008′)*31 from dual; ADD_MONTHS函数返回日期项,这个日期项通过将指定月数添加到给定日期计算得出。 ADD_MONTHS函数有两个强制参数。语法:ADD_MONTHS(start date,number of months)。在将指定的月数添加到start date之后,函数才计算目标日期。月数可能是负数,这样返回的目标日期就早于起始日期。number of months可以是小数,但会忽略小数部分,而使用整数部分。 select add_months(’07-APR-2009′,1) from dual; select add_months(’07-APR-2009′,2.5) from dual; select add_months(’07-APR-2009′,-12) from dual; NEXT_DAY函数返回的日期是星期内指定的日子下一次出现时的日期。 NEXT_DAY函数有两个强制参数。语法:NEXT_DAY(start date,day of the week)。函数计算在start date之后day of the week参数下一次出现的日期。day of the week参数可以是字符值或者整数值。可接受的值由NLS_DATE_LANGUATE数据库参数确定,但默认值至少是日子名称的前三个字符或者整数值,其中1表示星期日,2表示星期一,以此类推。在任何情况下都应该指定表示星期几的字符值。简短名称可以大于三个字符,例如星期日可以表示为sun、sund、sunda或者sunday。 select next_day(’01-JAN-2009′,’tue’) from dual; select next_day(’01-JAN-2009′,’WEDNE’) from dual; select next_day(’01-JAN-2009′,5) from dual; LAST_DAY函数返回指定日子所属的月的最后一天的日期。 LAST_DAY函数有一个强制参数。语法:LAST_DAY(start date)。该函数提取start date参数所属的月,并计算该月最后一天的日期。 select LAST_DAY(’01-JAN-2009′) from dual;日期ROUND函数依据指定的日期精度格式对值进行舍入运算。返回的值要么向上舍入要么向下舍入为最接近的日期精度格式。日期ROUND函数使用一个强制参数和一个可选参数。语法:ROUND(source date[,date precision format])。source date参数表示任意日期项。date precision format参数指定舍入的精度,是可选的,如果没有指定,默认的舍入精度是日。date precision formats包括世纪(CC)、年(YYYY)、季度(Q)、月(MM)、星期(W)、日(DD)、时(HH)和分(MI)。向上传入到世纪相当于给当前世纪加1个世纪。如果日部分大于16,就会向上舍入到下一个月,否则就会向下舍入到当月的开头。如果月在1和6之间,那么舍入到年就会返回当年开头的日期,否则返回下一年开头的日期。 select round(sysdate) day,round(sysdate,’w’) week,round(sysdate,’month’) month,round(sysdate,’year’) year from dual; select round(sysdate,’cc’) cc,round(sysdate,’q’) q,round(sysdate,’hh’),round(sysdate,’mi’) min hour from dual;日期TRUNC函数依据指定的日期精度格式对值进行截取运算。日期TRUNC函数使用一个强制参数和一个可选参数。语法:TRUNC(source date[,date precision format])。source date参数表示任意日期项。date precision format参数指定截取的精度,它是可选的,如果没有指定,默认的截取精度是日。即source date的所有时间部分都设置为午夜(00:00:00)。月级别上的截取将source date的日期设置为该月的第一天。年级别上的截取返回当年开头的日期。 select trunc(sysdate) day,trunc(sysdate,’w’) week,trunc(sysdate,’month’) month,trunc(sysdate,’year’) year from dual;感谢你能够认真阅读完这篇文章,希望小编分享的“Oracle中日期函数有哪些”这篇文章对大家有帮助,同时也希望大家多多支持百云主机,关注百云主机行业资讯频道,更多相关知识等着你来学习!

相关推荐: 基于Golang如何实现Redis协议解析器

这篇文章主要介绍了基于Golang如何实现Redis协议解析器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Golang如何实现Redis协议解析器文章都会有所收获,下面我们一起来看看吧。RESP协议RESP是客户端与服务端通…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/24 16:25
Next 07/24 16:26

相关推荐