Oracle 时间和日期函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 时间和日期函数
在默认情况下,日期数据的格式是DD-MON-YY。
其中,DD表示两位数字的日,MON 表示3位数的月份,YY表示两位数字的年。
在插入数据时,默认也采用DD-MON-YY格式插入数据。
日期数据的格式由NLS_DATE_FORMA T系统参数来设置,该系统参数存储在INIT.ORA文件和SPFILE.ORA文件中。
可以使用SHOW PARAMETERS命令查看这些系统参数的值,另外还可以通过ALTER SYSTEM或ALTER SESSION命令修改该系统参数。
ALTER SYSTEM命令表示修改系统参数的文件,这种修改设置在以后的数据库操作中将一直起作用;在ALTER SESSION命令的设置只在当前的会话中起作用,该会话结束后,其设置就会失效。
在Oracle 11g中,系统提供了许多用于处理日期和时间的函数,表5-6描述了常用的日期、时间函数的类型和功能。
表5-6 日期和时间函数
函数说明
add_months(x,y) 在X给定的日期上增加Y个月。
如果Y为负数,则表示从X
中减去Y个月
last_day(x) 返回包含在X中的月份的最后一天
months_between(x,y) 返回X和Y之间的月数
next_day(x,day) 返回紧接着X的下一天,参数DAY是一个字符串
sysdate() 返回当前系统的日期
current_date() 返回本地时区的当前日期
new_time(x ,time_zone1 ,time_zon
将时间X从时区TIME_ZONE1转变成时区TIME_ZONE2
e2)
localtimestamp() 返回会话中的日期和时间
在Oracle系统中,MONTHS_BETWEEN()函数可以返回两个日期之间的月数,其结果值即可以是正数,也可以是负数。
如果第一个参数指定的日期晚于第二个参数指定的日期,则结果值为负数。
如下所示:
SQL> select months_between(date'1981-11-26',sysdate)
2 from dual;
MONTHS_BETWEEN(DATE'1981-11-26',SYSDA TE)
----------------------------------------
-316.76572。