电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle中的日期时间存储VIP免费

Oracle中的日期时间存储_第1页
1/6
Oracle中的日期时间存储_第2页
2/6
Oracle中的日期时间存储_第3页
3/6
①Oracle中的日期时间存储:oracle数据库中存放时间格式的数据,是以oracle特定的格式存贮的,占7个字节,与查询时显示的时间格式无关。不存贮秒以下的时间单位。②Oracle中的日期时间显示:通常,客户端与数据库建立起连接后,oracle就会给一个缺省的时间格式数据的显示形式,与所使用的字符集有关。一般显示年月日,而不显示时分秒。③Oracle中的日期时间插入:向表中插入数据时,如果不使用转换函数,则时间字段的格式必须遵从会话环境的时间格式,否则不能插入。④Oracle中的日期时间格式修改:a.SQL>altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss';b.册表\hkey_local_machine\software\oracle\home0主键中增加一个字串(8i版本),字串名为nls_date_format,字串的值为你希望定义的时间格式前者只对当前会话有效,也即是一旦你关闭了SQL*PLUS窗口或重新打开一个SQL*PLUS窗口,日期时间格式依然采用本地字符集对应的日期时间格式。后者对所有客户端应用有效。当两者同时应用时,以altersession的修改为准。一、Oracle的日期函数:Oracle从8i开始就提供了大量的日期函数,这些日期函数包括对日期进行加减、转换、截取等功能。下面是Oracle提供的日期函数一览表FunctionUseADD_MONTHSAddsmonthstoadateLAST_DAYComputesthelastdayofthemonthMONTHS_BETWEENDeterminesthenumberofmonthsbetweentwodatesNEW_TIMETranslatesatimetoanewtimezoneNEXT_DAYReturnsthedateofthenextspecifiedweekdayROUNDRoundsadate/timevaluetoaspecifiedelementSYSDATEReturnsthecurrentdateandtimeTO_CHARConvertsdatestostringsTO_DATEConvertsstringsandnumberstodatesTRUNCTruncatesadate/timevaluetoaspecificelement二、日期加减:在Oralce中,对日期进行加减操作的默认单位是天,也就是说如果我们向当前日期加1的话是加上一天,而不是一秒或一小时。那么对一天中的一段时间进行加减要怎么做呢?很简单!只需将它们转化为以天为单位即可。【1】为当前时间加上30分钟:SQL>selectto_char(sysdate,'yyyy-mm-ddhh:mi:ss')now_date,2to_char(sysdate+(30/24/60),'yyyy-mm-ddhh:mi:ss')new_date3fromdual;NOW_DATENEW_DATE----------------------------------------------------------------------------2008-06-3010:47:312008-06-3011:17:31SQL>我们看到了在绿色高亮处使用30/24/60将分钟转换成天。另外一个要注意的地方是:SQL*PLUS环境下默认的日期格式:NLS_DATE_FORMAT是DD-MM-YYYY,也即是不包含时、分、秒,所以我们这里必须采用to_char的方式指定输入的日期格式。除此之外也可以通过在SQL*PLUS中执行下列语句修改默认的日期输出格式,这样的话就不需要通过to_char来转换了,直接输出就行。altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss';【2】为当前时间减去30分钟:SQL>selectto_char(sysdate+(-30/24/60),'yyyy-mm-ddhh:mi:ss')new_datefromdual;NEW_DATE--------------------------------------2008-06-3010:24:59只需要加上一个负数即可以了。三、月份加减:月份的加减和日期加减相比要难了很多,因为每个月份的天数并不是固定的,可能是31,30,29,28。如果采用上面的方法将月份转换成实际天数将不可避免地出现多个判断,幸亏Oracle为我们提供了一个add_months函数,这个函数会自动判断月份的天数。看看下面的例子:【1】为当前时间加上6个月:SQL>selectadd_months(sysdate,6)fromdual;ADD_MONTHS----------31-12月-08【2】为当前时间减去6个月:SQL>selectadd_months(sysdate,-6)fromdual;ADD_MONTHS----------31-12月-07【3】求两个日期相差的月数:通常情况下两个时间相减将得到以天数为单位的结果,可是有时我们更希望得到以月为单位的结果,如果手动转换这太麻烦了,所以Oracle又提供了一个函数,这个函数就是months_between。SQL>selectmonths_between(sysdate,2to_date('2008-01-0101:00:00','yyyy-mm-ddhh:mi:ss'))result3fromdual;RESULT----------5.94928203months_between函数有2个参数,第一个参数是结束日期,第二个参数是开始日期,Oracle用第一个参数减...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Oracle中的日期时间存储

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部