- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[零点起飞学Oracle之处理日期型数据[零点起飞学Oracle之处理日期型数据[零点起飞学Oracle之处理日期型数据
第7章 处理日期型数据
Oracle拥有强大的能力存储和日期计算,如计算日期之间的秒、分钟、小时、天、月、年。本章主要讲解如何利用日期型函数来操作与日期和时间有关的数据。一般情况下,最常用的日期类型为date和timestamp。
7.1 日期型简介
date是Oracle中的一种数据类型,它拥有自己的独特功能,可以用来放置日期和时间。Oracle中的date类型实际包含了以下信息:
Century:世纪信息;
Year:年份信息;
Month:月份信息;
Day:天数信息;
Hour:小时信息;
Minute:分钟信息;
Second:秒数信息。
除此之外,Oracle还提供了timestamp(时间戳)类型。该类型用于表示更加精确的时间,精确度可以达到毫秒级。
7.2 常见日期数据处理
日期数据类型由两个主要部分组成,日期和时间。Oracle数据库中默认的日期格式dd-mon-yy,dd表示日,mon表示月,yy表示年。在将日期插入到表中时,可以不指定时间部分的值,默认是午夜,用“00:00:00”表示。Oracle提供了丰富的函数来处理日期,本节将详细讲述这些函数的用法。
7.2.1 获得当前日期
在select查询中,有时需要获取系统的时间。sysdate函数可以获取数据库系统的当前日期,通常在插入数据时使用,此函数不带任何参数,函数用法如下所示。
【示例7-1】查询系统的当前日期。
7.2.2 为日期加上特定月份
对于一个日期型来说,一个常见应用为添加固定月数。add_months函数可以实现日期和月份的计算。它可以在给定的日期上添加相当于月份的整数,然后重新计算日期。
【示例7-2】将job_history表中,员工辞职日期推后一个月,那么,可以利用add_months()函数自动计算员工的离职日期。
7.2.3 求日期所在月的最后一天
last_day()函数可以用于返回某个日期所在月份的最后一天,包含一个参数,返回值同样为一个日期型。由于每个月长度不同,所以每个月的最后一天的天数不固定。
【示例7-3】Oracle提供了last_day()函数来返回一个月的最后天数。
7.2.4 计算两个日期所差的月数
months_between()函数用于返回两个日期相减获得的月数。该函数有两个参数,该函数的返回值并不一定为整数,如下所示。
【示例7-3】利用months_between()函数计算两个日期之间所差的月数。
【示例7-4】查询job_history表中,各个员工的工作时长。
7.2.5 计算日期之后的一周之内的日期
next_day()函数用于获得特定日期之后的一个星期之内的日期。例如,2012-11-11是星期日,那么,为了获得紧随其后的第一个星期一。
【示例7-5】返回2012-11-11之后的第一个星期一。
7.2.6 截取日期
trunc()函数不仅可以截取数字,而且可以截取日期,其工作原理与截取数字非常相似。其使用语法如下所示。
trunc(日期, 截取格式)
使用该函数时,不仅需要指定日期原始值,而且要指定截取格式——即截取到日期的哪个部分。
【示例7-5】查询数据表job_history,将end_date日期截取到月。
trunc()函数的作用为屏蔽至某个时间位。这些屏蔽位均有特定的格式代码,表7-1列出了各个屏蔽位与格式代码。
7.2.6 截取日期
屏蔽至
可用格式代码
世纪
CC、SSC
年
SYYY, YYYY, YEAR, SYEAR, YYY, YY, or Y
ISO年(一年53周,第54周的星期一为新年的开始)
IYYY, IYY, IY, or I
季度
Q
月份
MONTH, MON, MM, or RM
本周内与当年第一天具有相同周内天数的日期
WW
本周内与ISO年第一天具有相同周内天数的日期
IW
本周内与当月第一天具有相同周内天数的日期
W
天
DDD, DD, or J
本周内的第一天
DAY, DY, or D
小时
HH, HH12, HH24
分钟
MI
7.2.7 获取当前时区的当前日期
current_date()函数用于返回当前时区下的当前日期,我们可以结合当前时区来查看current_date()函数的使用。下面,利用该函数查看当前日期的。
7.2.8 获取当前时区的时间戳
current_ timestamp函数用于返回当前时区下的当前时间戳,我们可以结合当前时区来查看current_ timestamp函数的使用。利用该函数获取当前时区下的时间戳。
7.2.9 获取日期的某个域
日期中的年、月、日、时、分、秒等可以看做日期的域。extract()函数可以从一个日期中分解出各个域。其使用语法如下所示。
extract(域名
文档评论(0)