久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

ORACLE中有哪些日期類型

共計(jì) 4013 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。

ORACLE 中有哪些日期類型,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

數(shù)據(jù)庫中有 4 中日期類型:

1、DATE:是最早和使用最廣的日期類型,使用示例如下。

DATE is the oldest and most widely used data type. Though the name is DATE , it stores also information about the time. Internally, DATE stores year, month, day, hour, minute and second as explicit values. To get the current timestamp as an instance of DATE, use the SYSDATE SQL function.

SQL alter session set nls_date_format= YYYY-MM-DD HH24:MI:SS
SQL select sysdate, dump(sysdate) as date_bytes from dual;

SYSDATE              DATE_BYTES                           
——————– ———————————–
2017-11-23 23:41:08  Typ=13 Len=8: 225,7,11,23,23,41,8,0 

2、TIMESTAMP:擴(kuò)展了 DATA 類型,包含了分秒和時(shí)區(qū)。

TIMESTAMP extends DATE by fractional seconds. Internally, time zone information is also contained, but in order to work with time zones, one of the other two data types, TIMESTAMP WITH TIME ZONE or TIMESTAMP WITH LOCAL TIME ZONE must be used. To get the current timestamp as a TIMESTAMP instance, use the LOCALTIMESTAMP SQL function. As the DUMP result below shows, TIMESTAMP stores year, month, day, hour, minute and second similar to DATE. The other bytes are there for fractional seconds and time zone information. TIMESTAMP instances consume more space on disk than DATE instances, which is natural – they contain more information.

SQL alter session set nls_timestamp_format= YYYY-MM-DD HH24:MI:SS.FF6
SQL select localtimestamp, dump(localtimestamp) ts_bytes from dual;

LOCALTIMESTAMP              TS_BYTES                                                               
————————— ———————————————————————
2017-11-24 08:45:41.434175  Typ=187 Len=20: 225,7,11,24,8,45,41,0,24,252,224,25,1,0,3,0,127,1,0,0

3、SYSTIMESTAMP 顯示時(shí)區(qū),SYSTIMESTAMP 顯示當(dāng)前數(shù)據(jù)庫時(shí)區(qū),CURRENT_TIMESTAMP 顯示當(dāng)前會(huì)話時(shí)區(qū);

TIMESTAMP WITH TIME ZONE allows to explicitly work with time zone information. A time zone can be used to create a TIMESTAMP WITH TIME ZONE instance and it is explicitly contained in the output (use the right format mask). When the output of a TIMESTAMP WITH TIME ZONE value does not contain a time zone, you have incomplete data.
Oracle does not implicitly convert instances of this data type between time zones; this can be done explicitly with the AT TIME ZONE clause. To get the current time as a TIMESTAMP WITH TIME ZONE instance, we can use two functions: SYSTIMESTAMP returns the current time in the database time zone and CURRENT_TIMESTAMP returns it in the current session time zone. The following example uses SYSTIMESTAMP.

SQL alter session set nls_timestamp_tz_format= YYYY-MM-DD HH24:MI:SS.FF6 TZR
SQL select systimestamp as ts_bytes from dual;

SYSTIMESTAMP
———————————-
2017-11-23 23:57:04.609608 -08:00

4、本地時(shí)區(qū)和數(shù)據(jù)庫時(shí)區(qū)轉(zhuǎn)換。TIMESTAMP 隱含使用本地時(shí)區(qū),默認(rèn)使用會(huì)話時(shí)區(qū)插入,存儲(chǔ)時(shí)默認(rèn)使用數(shù)據(jù)庫時(shí)區(qū)。

TIMESTAMP WITH LOCAL TIME ZONE does not expose the time zone information (to the application, it looks like a TIMESTAMP), but it uses tome zones implicitly: An instance is created without time zone information, the session time zone is assumed. Stored instances are normalized to the database time zone. When the data is retrieved, users see it (again) in the session time zone. 
The following example illustrates how TIMESTAMP WITH LOCAL TIME ZONE works: First, a table is created. Then the current time is retrieved and stored into the table (SYSTIMESTAMP returns TIMESTAMP WITH TIME ZONE, but this is automatically converted to TIMESTAMP WITH LOCAL TIME ZONE). When the table is then being selected, the returned data changes with the session time zone.

SQL create table mytimestamps(ts timestamp with local time zone);
SQL insert into mytimestamps values (systimestamp);
SQL alter session set time_zone= Europe/Berlin
SQL select * from mytimestamps;

TS
—————————————————————————
2017-11-24 12:55:39.761283

SQL alter session set time_zone= EST
SQL select * from mytimestamps;

TS
—————————————————————————
2017-11-24 06:55:39.761283

Format Masks

Whether we work within an application or a tool like SQL Plus or SQL Developer; whenever we output a DATE or TIMESTAMP instance, we re converting it to VARCHAR2. We can do this explicitly using TO_CHAR or Oracle will do it implcitly. And now NLS format masks kick in – the format mask decides how a DATE is converted to a VARCHAR2 and back. The are defaults for NLS format masks at the database level, we can set them at the session level or we can pass a format mask to the individual TO_CHAR call.
看完上述內(nèi)容,你們掌握 ORACLE 中有哪些日期類型的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計(jì)4013字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 洛川县| 昔阳县| 江山市| 乐安县| 连江县| 西藏| 溧水县| 珲春市| 云梦县| 张家港市| 东海县| 德令哈市| 广安市| 如皋市| 潜江市| 朔州市| 噶尔县| 五大连池市| 嘉鱼县| 松潘县| 湟中县| 徐汇区| 桐城市| 崇义县| 吴川市| 崇礼县| 图们市| 肇源县| 屏南县| 会同县| 禹州市| 绵竹市| 宾阳县| 周宁县| 黄浦区| 哈密市| 五华县| 包头市| 黔西县| 临颍县| 个旧市|