Oracle中的TIMESTAMP資料型別
timestamp格式表示的時間如何轉換成普通格式:
SQL> SELECT to_char(tp,'dd-mm-yyyy hh24:mi:ss.ff') FROM TIMESTAMPTEST;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
java.sql.Timestamp 和 java.sql.Date互相轉換:
java.sql.Date--->java.sql.Timestamp new java.sql.Timestamp(yourDate.getTime()); java.sql.Timestamp-->java.sql.Date new java.sql.Date(yourTimestamp.getTime()); 介面要顯示毫秒的話,在date傳到前面時轉化格式即可!
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TIMESTAMP 資料型別,是DATE的擴充套件,可以儲存年、月、日、小時 、分鐘、秒,同時還可以儲存秒的小數部分。
語法為:TIMESTAMP [(fractional_seconds_precision)]
fractional_seconds_precision為可選項,指定秒的小數部分的精度,取值範圍為0-9,預設值為6。
示例程式碼:
declare
v_inteval timestamp (7);
begin
v_inteval := TIMESTAMP '2007-05-05 23:34:45.1234567';
dbms_output.put_line(v_inteval);
end;
結果為:05-5月 -07 11.34.45.1234567 下午。
說明:如果精度為5,則結果為05-5月 -07 11.34.45.12346 下午;如果精度為8,則結果為05-5月 -07 11.34.45.12345670 下午。
二、TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH TIME ZONE資料型別是可以指定時區的TIMESTAMP 。時區的偏移是指本地時間和格林尼治(UTC)時間之間的差異(小時 和分鐘)。
語法為:TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE
fractional_seconds_precision為可選項,指定秒的小數部分的精度,取值範圍為0-9,預設值為6。
如果2個TIMESTAMP WITH TIME ZONE,相對於UTC代表相同的時間,則認為這2個TIMESTAMP WITH TIME ZONE是相等的,而不管這2個TIMESTAMP WITH TIME ZONE所代表的具體時間,例如:TIMESTAMP '1999-04-15 8:00:00 -8:00'和TIMESTAMP '1999-04-15 11:00:00 -5:00'是相等的,雖然他們分別表示當地的8點和11點,其中-8:00以及-5:00,表示相對UTC的偏移量。
在上例中,也可以將偏移量替換成時區地區(TRZ,time zone region),例如,上例中的TIMESTAMP '1999-04-15 8:00:00 -8:00',與TIMESTAMP '1999-04-15 8:00:00 US/Pacific'是相等的。
為了削除因為夏令時引起的時間歧義,同時使用TRZ,以及和TRZ相對應的TRD來確保返回正確的時間,例如:TIMESTAMP '1999-10-29 01:30:00 US/Pacific PDT'。如果沒有使用TZD元素,並且ORACLE 的ERROR_ON_OVERLAP_TIME session引數設定為TRUE,則ORACLE 會返回錯誤。如果ERROR_ON_OVERLAP_TIME session引數設定為FALSE,則ORACLE 認為該TIMESTAMP WITH TIME ZONE為標準時間。
程式碼一:
declare
v_inteval timestamp (7) with time zone;
begin
v_inteval := TIMESTAMP '2007-05-05 23:34:45.1234567';
dbms_output.put_line(v_inteval);
end;
結果為:05-5月 -07 11.34.45.123456700 下午 +08:00。
說明:該結果與(一)中的程式碼結果相比,多了一個時區偏移量+08:00,說明該時間為北京時間。
程式碼二:
declare
v_inteval_1 timestamp (3) with time zone;
v_inteval_2 timestamp (3) with time zone;
begin
v_inteval_1 := TIMESTAMP '1999-04-15 8:00:00 -8:00';
v_inteval_2 := TIMESTAMP '1999-04-15 11:00:00 -5:00';
if(v_inteval_1=v_inteval_2) then
dbms_output.put_line('v_inteval_1=v_inteval_2');
else
dbms_output.put_line('v_inteval_1!=v_inteval_2');
end if;
end;
結果為:v_inteval_1=v_inteval_2。
三、TIMESTAMP WITH LOCAL TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE資料型別也是可以指定時區的TIMESTAMP ,和TIMESTAMP WITH TIME ZONE不同的是,他儲存的是資料庫的時區,時區偏移量並不儲存。當使用者提交資料,ORACLE 返回的是使用者的本地所在的時區。時區的偏移是指本地時間和格林尼治(UTC)時間之間的差異(小時 和分鐘)。TIMESTAMP WITH LOCAL TIME ZONE主要用於CS二層系統應用。
語法:TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE
以上程式碼的執行環境:oracle9.2,pl/sql developer
come from:http://cai555.iteye.com/blog/460008
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-733707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- ORACLE TIMESTAMP資料型別Oracle資料型別
- C#插入Oracle中Timestamp型別資料C#Oracle型別
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- Oracle中的TIMESTAMP型別Oracle型別
- oracle資料型別date和timestamp的轉化Oracle資料型別
- mysql 資料型別TIMESTAMPMySQL 資料型別
- Sqlserver:timestamp資料型別SQLServer資料型別
- timestamp資料型別求差資料型別
- oracle的timestamp型別使用Oracle型別
- MySQL資料庫中的timestamp型別與時區MySql資料庫型別
- 關於timestamp資料型別資料型別
- ORACLE DATE和TIMESTAMP資料型別的比較(一) (轉)Oracle資料型別
- ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)Oracle資料型別
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- 關於oracle中的sql資料型別OracleSQL資料型別
- Sybase的timestamp型別型別
- [20191219]oracle timestamp資料型別的儲存.txtOracle資料型別
- Oracle中Date和Timestamp的區別Oracle
- Oracle資料型別Oracle資料型別
- Oracle 資料型別Oracle資料型別
- TIMESTAMP型別的時區型別
- Oracle的number資料型別Oracle資料型別
- Oracle的raw資料型別Oracle資料型別
- ORACLE的資料型別(轉)Oracle資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- [20241009]oracle timestamp with time zone資料型別的儲存.txtOracle資料型別
- ORACLE中的隱式資料型別轉換(一)Oracle資料型別
- Sybase datetime型別對映為Oracle timestamp型別Oracle
- Java中的資料型別Java資料型別
- javascript中的資料型別JavaScript資料型別
- 輸入TIMESTAMP型別型別
- Timestamp型別淺析型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- 【轉】ORACLE資料型別Oracle資料型別
- Oracle anydata資料型別Oracle資料型別
- ORACLE NUMBER資料型別Oracle資料型別
- [轉]oracle資料型別Oracle資料型別