发表文章 返回首页

Oracle数据库中的时间类数据类型小结-开发技术

时间:2008-06-17 00:00来源:中国网管联盟 作者:bitsCN整理 点击:
在ORACLE数据库中有一类比较特别的数据类型,它就是时间类的数据类型。这中数据类型表面上看看,像字符型的数据类型,但是又不是。因为他可以像数字型的数据类型那样,进行运算。所以说,他是兼有数字型与字符型数据
  

  第一个函数:datetimezone函数。

  顾名思义,这个函数的意思就是时区的意思。返回当前系统所采用的时区。这个功能在一些跨国度的系统应用上比较广泛。如现在有一个企业资源计划系统,是为一个集团企业所部署的。这个集团企业,不仅在美国有办事处,而且在中国也有生产工厂,在日本也有自己的销售办事处。现在利用企业资源计划系统把这几个不同国度的办事处及生产工厂有机的联系在了一起。此时,各个办事处或许都要采用自己所在地方的时区。现在的问题是,美国的销售办事处下了一张销售定单,销售定单的交货日期是美国时间2008年8月10日。但是,在中国的生产工厂中看到的就应该是按照中国北京时间转换的日期。这个需求该如何实现呢?就是要用到这个datetimezone函数。先从当前系统中利用这个函数取得系统这张单据日期所采用的时区,然后再根据相关规则进行转换。

网管联盟www.bitsCN.com

  所以,这个函数在这些跨集团的信息化管理系统的应用上,用的非常广泛。 中国网管论坛bbs.bitsCN.com

  另外,也可以采用NEW—TIME函数结合其他相关的函数实现这个功能。 54com.cn

  第二个函数:Sysdate函数。

54ne.com

  这个函数是用来获取当前的系统日期。默认情况下,利用这个函数显示的日期格式为“月-日-年 星期几”。若我们要以其他格式进行显示,我们就需要用到格式转换类型,如TO-CHAR函数来转换我们自己需要的类型。 feedom.net

  这个函数在实际应用中还是非常广泛的。

网管联盟www.bitsCN.com

  如我们新建一张销售定单的日期,建立定单的日期我们一般需要为其设立一个默认日期,这个日期不是当前系统的日期就是服务器的当前系统日期。而要获得这个日期的话,都是需要用到这个SYSDATE系统函数。

中国网管联盟www_bitscn_com

  如在一些项目管理系统中,需要知道离某个具体的任务还有多少时间,具体的算法就是将来某个日期减去当前日期还剩多少天。在这个计算的过程中,也需要用到SYSDATE函数,用来取得系统的当前日期。

中国网管论坛bbs.bitsCN.com

  另外这里还要注意一个问题。有些人在数据库设计的时候,喜欢把取得的当前日期通过数据类型转换函数,把日期型的数据转换为字符型的数据。这我个人认为是一个不好的习惯。

网管网bitsCN_com

  第三个函数:MOUNTS_BETWEEN函数。 网管联盟www.bitsCN.com

  上面我们在谈到数据类型的时候,说到过一个需求,有时候我们需要知道2008年6月12日到2008年8月8日还剩几个过。此时,就是利用MOUNTS_BETWEEN函数来获取这个信息,并利用INTERVAL YEAR TO MOUNTH数据类型的字段来储存这个信息。 中国网管联盟www.bitscn.com

  这个函数的话,在一些项目管理系统中用的也比较频繁。有时候一个项目可能时间比较久,我们采用的精度是月而不是天。此时就要利用这个函数来计算两个具体日期之间还相差几个月。 54ne.com

  给与日期操作的函数还有很多。如有时候我们需要知道,今年的母亲节是什么时候。根据中国的习俗,5月分的第二个星期日就是母亲节。若我们通过日历查找出这个日期,那没有什么难度。现在我们若希望能够通过数据库,计算出这个日期。此时,就需要用用到数据库的日期操作函数,实现这个需求。类似的情况很多,如我们想知道2008年的5月1日劳动节,那天是星期几,以方便我们安排假期。这些需求的都是通过日期函数来解决的。今天在这里由于篇幅的限制,不做过多的解释。在后续数据库的设计中,遇到具体的应用,我们再做深入的阐述。

网管网bitsCN_com

网管联盟www.bitsCN.com

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
admin 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2008-05-08 23:05 最后登录:2009-01-06 01:01
推荐内容