- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
日期和时间的存储与处理上面的日期的格式是DD-MON-YY日期在数据库里面的存储是固定格式的,不会随着你的参数的改变而改变。这个参数影响主要在两个方面:输入时如何确认你的输入字符串的日期格式输出时如何显示你的输出日期格式使用sysdate测试一下当前数据库的日期格式。使用DATE以后,后面的格式必须使用ANSI标准格式:YYYY-MON-DD使用TO_CHAR()和TO_DATE()转换函数TO_CHAR(x[,format])TO_DATE(x[,format])TO_CHAR(x[,format])将时间值转换为字符串(前面已经讲过将数字转换为字符串)MONTH是大写的月份的全称。按照我们指定的格式来识别字符串为日期格式,然后按照默认的日期格式进行输出。使用TO_DATE()将字符串转换为日期格式组合使用to_char和to_date函数。0102设置默认的日期格式如果格式采用的是YY,那么oracle就采用数据库服务器当前的世纪来填充这个YY的世纪。例如目前数据库服务器的时间是2009,那么YY75就表示2075(有可能本意是1975),因此建议还是采用YYYY的格式。前面我们已经演示了如何修改NLS_DATE_FORMAT参数,同时也演示了如何修改SESSION的NLS_DATE_FORMAT参数。Oracle对YY格式的解释使用时间值函数ADD_MONTHS()函数ADD_MONTHS(x,y)函数用于计算x加上y个月的结果,如果y是负数,那么表示减去y个月。LAST_DAY函数用于计算包含x的月的最后一天。MONTHS_BETWEEN()NEXT_DAY(x,day)函数这个函数返回从x开始下一个day的日期。ROUND(x[,unit])函数用于对x进行取整,默认情况下x取整为最近的一天。YYYY表示为取整为最近一年的第一天。如果是以YYYY来进行round,那么就看月份,如果月份是下半年,那么就取整到下一年。如果说是以HH24来进行取整,那么就看分钟数,取整到最近的小时。如果是以MM来进行round,那么就看日期,如果日期是上半月,那么就取整到这个月。总是取整到最近的时间点。TRUNC()函数ROUND总是取整到最近的年份、月份、日期、小时等TRUNC总是裁断到本年、本月、本日等等两者都是到开始时间。理解时区Oracle9i引入了一种新的特性,可以表示不同的时区。时区是当地时间与英格兰格林威治时间的时差,格林威治时间过去称为GMT,现在称为UTC。时区可以使用时差来表示,也可以使用名字来表示。时差的表示采用+|-HH:MI.例如:-07:00、+02:15使用时区名表示,例如:PST(太平洋标准时间)、UTC(东部标准时间)数据库时区会话时区覆盖数据库时区。数据库时区和会话时区访问的数据库所在的时区可能与本地时区不同:分被称为数据库时区和会话时区。默认情况下数据库时区等于会话时区。查看会话时区中的当前时间:连接的是同一个数据库,但是会话时区不同。查看不同时区相对格林威治的时区差。获取时区名。将一个时间值从PST转换到EST。EST比PST早3个小时。使用时间戳时间戳可以存储世纪、4位年、月、日、时(24小时制)、分、秒Oracle9i中引入了时间戳的概念。时间戳的特点:可以存储秒的小数位可以存储时区1、TIMESTAMP[(seconds_precision)]时间戳存储世纪、4位年、月、日、时(24小时制)、分、秒seconds_precision为可选参数,从0-9,默认值是6,表示秒的小数点右边可以存储6位数字。如果超出这个精度,该小数将被取整。2、TIMESTAMP[(seconds_precision)]WITHTIMEZONE扩展了TIMESTAMP,用于存储时区。3、TIMESTAMP[(seconds_precision)]WITHLOCALTIMEZONE扩展了TIMESTAMP,将给定的时间值转换为数据库的本地时区。这个表记录了客户购买记录,其中made_on就是一个TIMESTAMP的列。INSERTINTOpurchases_with_timestampvalues(1,1,TIMESTAMP‘2005-05-1307:15:31.1234’);TIMESTAMP关键字和前面的DATE类似,后面的时间格式必须符合ANSI标准YYYY-MON-DDHH24:MI:SS.SSSSSSSSSTIMESTAMP‘2005-05-1307:15:31-07:00’或者TIMESTAMP‘
文档评论(0)