您的位置:首页 > 其它

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

2013-08-10 23:52 465 查看
转载请注明出处:/article/1348791.html



正解答案是: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-058years0months Gates10-AUG-1311-JUL-067years1months Perkins10-AUG-1319-DEC-075years8months Bell10-AUG-1304-FEB-049years6months中间结果省略 Bull10-AUG-1320-FEB-058years6months Dellinger10-AUG-1324-JUN-067years2months Cabrio10-AUG-1307-FEB-076years6months Chung10-AUG-1314-JUN-058years2months 107rowsselected.

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_DATEfora30
oe@MYDB>colIntervalfora30
oe@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.662632AM8414days21hours
244310-AUG-1328-JUL-9003.34.16.562632AM8414days20hours
244510-AUG-1328-JUL-9005.34.38.362632AM8414days18hours
241810-AUG-1321-MAR-9608.18.21.862632AM6351days15hours241510-AUG-1330-MAR-9705.34.50.545196AM5977days18hours
235710-AUG-1309-JAN-9812.19.44.123456PM5692days11hours
省略中间结果
244710-AUG-1327-JUL-0010.59.10.223344PM4762days0hours
244110-AUG-1302-AUG-0001.22.48.734526AM4756days22hours
1310-AUG-1304-AUG-1309.32.52.000000PM6days2hours
13010-AUG-1304-AUG-1310.55.36.000000PM6days0hours

107rowsselected.


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>colTIMESTPfora30
gyj@MYDB>colTIMESTP_TZfora35
gyj@MYDB>colTIMESTP_LTZfora30
gyj@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐