您的位置:首页 > 数据库

[每日一题] OCP1z0-047 :2013-08-10   INTERVAL DAY TO SECOND........................................

2013-08-10 23:52 796 查看
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/9887591



正解答案是:B引用akagea同学的解释http://www.itpub.net/thread-1808740-1-1.html“根据题意要求,需要存储的是一个时间间隔的数据,且方便加减,所以首先排除timestamp类型。然后题目要求最大的周期是30天,所以yeartomonth排除,因为该项只能精确到月。然后就剩下B“官方文档解释:

INTERVALYEARTOMONTHDatatype

INTERVAL
YEAR
TO
MONTH
storesaperiodoftimeusingthe
YEAR
and
MONTH
datetimefields.Thisdatatypeisusefulforrepresentingthedifferencebetweentwodatetimevalueswhenonlytheyearandmonthvaluesaresignificant.
Specify
INTERVAL
YEAR
TO
MONTH
asfollows:
INTERVALYEAR[(year_precision)]TOMONTH

DatetimeandIntervalExamples

Thefollowingexampleshowshowtodeclaresomedatetimeandintervaldatatypes.

hr@MYDB>hr@MYDB>SELECTlast_name,sysdate,hire_date,EXTRACT(YEARFROM(SYSDATE-hire_date)YEARTOMONTH)2||'years'3||EXTRACT(MONTHFROM(SYSDATE-hire_date)YEARTOMONTH)4||'months'"Interval"5FROMemployees;LAST_NAMESYSDATEHIRE_DATEInterval---------------------------------------------------------------------------------------------------Dilly10-AUG-1313-AUG-058years0monthsGates10-AUG-1311-JUL-067years1monthsPerkins10-AUG-1319-DEC-075years8monthsBell10-AUG-1304-FEB-049years6months中间结果省略Bull10-AUG-1320-FEB-058years6monthsDellinger10-AUG-1324-JUN-067years2monthsCabrio10-AUG-1307-FEB-076years6monthsChung10-AUG-1314-JUN-058years2months107rowsselected.

INTERVALDAYTOSECONDDatatype

INTERVAL
DAY
TO
SECOND
storesaperiodoftimeintermsofdays,hours,minutes,andseconds.Thisdatatypeisusefulforrepresentingtheprecisedifferencebetweentwodatetimevalues.
Specifythisdatatypeasfollows:
INTERVALDAY[(day_precision)]
TOSECOND[(fractional_seconds_precision)]

TIMESTAMPWITHTIMEZONEDatatype

TIMESTAMP
WITH
TIME
ZONE
isavariantof
TIMESTAMP
thatincludesatimezoneoffsetinitsvalue.Thetimezoneoffsetisthedifference(inhoursandminutes)betweenlocaltimeandUTC(CoordinatedUniversalTime—formerlyGreenwichMeanTime).Thisdatatypeisusefulforcollectingandevaluatingdateinformationacrossgeographicregions.
Specifythe
TIMESTAMP
WITH
TIME
ZONE
datatypeasfollows:
TIMESTAMP[(fractional_seconds_precision)]WITHTIMEZONE


oe@MYDB>colORDER_DATEfora30oe@MYDB>colIntervalfora30oe@MYDB>SELECTorder_id,sysdate,order_date,2EXTRACT(DAYFROM(SYSDATE-order_date)DAYTOSECOND)3||'days'4||EXTRACT(HOURFROM(SYSDATE-order_date)DAYTOSECOND)5||'hours'"Interval"6FROMorders;ORDER_IDSYSDATEORDER_DATEInterval----------------------------------------------------------------------------------244210-AUG-1328-JUL-9002.22.59.662632AM8414days21hours244310-AUG-1328-JUL-9003.34.16.562632AM8414days20hours244510-AUG-1328-JUL-9005.34.38.362632AM8414days18hours241810-AUG-1321-MAR-9608.18.21.862632AM6351days15hours241510-AUG-1330-MAR-9705.34.50.545196AM5977days18hours235710-AUG-1309-JAN-9812.19.44.123456PM5692days11hours省略中间结果244710-AUG-1327-JUL-0010.59.10.223344PM4762days0hours244110-AUG-1302-AUG-0001.22.48.734526AM4756days22hours1310-AUG-1304-AUG-1309.32.52.000000PM6days2hours13010-AUG-1304-AUG-1310.55.36.000000PM6days0hours107rowsselected.

TIMESTAMPWITHLOCALTIMEZONEDatatype

TIMESTAMP
WITH
LOCAL
TIME
ZONE
isanothervariantof
TIMESTAMP
thatincludesatimezoneoffsetinitsvalue.Itdiffersfrom
TIMESTAMP
WITH
TIME
ZONE
inthatdatastoredinthedatabaseisnormalizedtothedatabasetimezone,andthetimezoneoffsetisnotstoredaspartofthecolumndata.Whenauserretrievesthedata,Oraclereturnsitintheuser'slocalsessiontimezone.Thetimezoneoffsetisthedifference(inhoursandminutes)betweenlocaltimeandUTC(CoordinatedUniversalTime—formerlyGreenwichMeanTime).Thisdatatypeisusefulfordisplayingdateinformationinthetimezoneoftheclientsysteminatwo-tierapplication.
Specifythe
TIMESTAMP
WITH
LOCAL
TIME
ZONE
datatypeasfollows:
TIMESTAMP[(fractional_seconds_precision)]WITHLOCALTIMEZONE
timestampwithlocaltimezone和timesatampwithtimezone的最大区别就是,前者在用户提交时间给数据库的时,该类型会转换成数据库的时区来保存数据,即数据库保存的时间是数据库本地时区,当别的用户访问数据库时oracle会自动将该时间转换成当前客户端的时间。
实验:1、创建表gyj@MYDB>CREATETABLETIME_TEST(2TIMEDATE,3TIMESTPTIMESTAMP(3),4TIMESTP_TZTIMESTAMP(3)WITHTIMEZONE,5TIMESTP_LTZTIMESTAMP(3)WITHLOCALTIMEZONE);Tablecreated.
2、插入数据gyj@MYDB>INSERTINTOTIME_TESTVALUES(SYSDATE,SYSDATE,SYSDATE,SYSDATE);1rowcreated.gyj@MYDB>commit;Commitcomplete.
3、查询dbtimezone和sessiontimezone的值gyj@MYDB>selectdbtimezone,sessiontimezonefromdual;DBTIMESESSIONTIMEZONE-----------------------------------------------------------------+08:00+08:00
4、查看数据的值gyj@MYDB>colTIMESTPfora30gyj@MYDB>colTIMESTP_TZfora35gyj@MYDB>colTIMESTP_LTZfora30gyj@MYDB>SELECT*FROMTIME_TEST;TIMETIMESTPTIMESTP_TZTIMESTP_LTZ-----------------------------------------------------------------------------------------------------------10-AUG-1310-AUG-1311.09.16.000PM10-AUG-1311.09.16.000PM+08:0010-AUG-1311.09.16.000PM
5、修改会话的time_zone值gyj@MYDB>altersessionsettime_zone='+11:00';Sessionaltered.

6、查看结果gyj@MYDB>SELECT*FROMTIME_TEST;TIMETIMESTPTIMESTP_TZTIMESTP_LTZ-----------------------------------------------------------------------------------------------------------10-AUG-1310-AUG-1311.09.16.000PM10-AUG-1311.09.16.000PM+08:0011-AUG-1302.09.16.000AM
从上面的实验可以看出二者的去区别,当session的时区由8变为11是,时间增加三个小时别外可以参考这篇文章:http://space.itpub.net/9765498/viewspace-539881
QQ:252803295
学习交流QQ群:
DSI&CoreSearchⅠ群:127149411(技术:已满)
DSI&CoreSearchⅡ群:177089463(技术:未满)
DSI&CoreSearchⅢ群:284596437(技术:未满)
DSI&CoreSearchⅣ群:192136702(技术:未满)
DSI&CoreSearchⅤ群:285030382(闲聊:未满)

MAIL:oracledba_cn@hotmail.com
BLOG:http://blog.csdn.net/guoyjoe
WEIBO:http://weibo.com/guoyJoe0218
ITPUB:http://www.itpub.net/space-uid-28460966.html
OCM:http://education.oracle.com/education/otn/YGuo.HTM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 INTERVAL OCP1z0
相关文章推荐