41
A
回答
51
括號中的數字指定的分數秒的精度被存儲。所以,(0)
意味着不會存儲任何秒的小數部分,並且只使用整秒。如果未指定,默認值是小數點後6位數字。
所以未指定的值將存儲就像一個日期:只有
TIMESTAMP 24-JAN-2012 08.00.05.993847 AM
,並指定(0)
店:
TIMESTAMP(0) 24-JAN-2012 08.00.05 AM
27
很簡單的數量是時間戳的精度,在列中保留第二部分:
SQL> create table t23
2 (ts0 timestamp(0)
3 , ts3 timestamp(3)
4 , ts6 timestamp(6)
5 )
6/
Table created.
SQL> insert into t23 values (systimestamp, systimestamp, systimestamp)
2/
1 row created.
SQL> select * from t23
2/
TS0
---------------------------------------------------------------------------
TS3
---------------------------------------------------------------------------
TS6
---------------------------------------------------------------------------
24-JAN-12 05.57.12 AM
24-JAN-12 05.57.12.003 AM
24-JAN-12 05.57.12.002648 AM
SQL>
如果我們沒有指定精度,那麼時間戳將默認爲6個位置。
SQL> alter table t23 add ts_def timestamp;
Table altered.
SQL> update t23
2 set ts_def = systimestamp
3/
1 row updated.
SQL> select * from t23
2/
TS0
---------------------------------------------------------------------------
TS3
---------------------------------------------------------------------------
TS6
---------------------------------------------------------------------------
TS_DEF
---------------------------------------------------------------------------
24-JAN-12 05.57.12 AM
24-JAN-12 05.57.12.003 AM
24-JAN-12 05.57.12.002648 AM
24-JAN-12 05.59.27.293305 AM
SQL>
請注意,我在Linux上運行,所以我TIMESTAMP
柱,其實是給予我精度六個地方,即微秒。在Unix的大多數(全部)版本中,情況也是如此。在Windows上,限制是三個地方,即毫秒。 (這是最現代的Windows版本 - 這需要引用)。
正如可以預料的那樣,文檔涵蓋了這一點。 Find out more。
「當你創建時間戳(9)這給你的Nano右」
只有當操作系統支持的話。正如你所看到的,我的OEL設備不會:
SQL> alter table t23 add ts_nano timestamp(9)
2/
Table altered.
SQL> update t23 set ts_nano = systimestamp(9)
2/
1 row updated.
SQL> select * from t23
2/
TS0
---------------------------------------------------------------------------
TS3
---------------------------------------------------------------------------
TS6
---------------------------------------------------------------------------
TS_DEF
---------------------------------------------------------------------------
TS_NANO
---------------------------------------------------------------------------
24-JAN-12 05.57.12 AM
24-JAN-12 05.57.12.003 AM
24-JAN-12 05.57.12.002648 AM
24-JAN-12 05.59.27.293305 AM
24-JAN-12 08.28.03.990557000 AM
SQL>
(那些尾隨零可能是一個巧合,但事實並非如此。)
+0
hm但是當你創建時間戳(9)這會給你nanos的權利? – hudi
相關問題
- 1. 甲骨文時間戳
- 2. 時間戳甲骨文
- 3. 數據類型小時的甲骨文
- 4. 轉換甲骨文時間戳數據類型的字符串到Java日期
- 5. 無法與時間戳甲骨文
- 6. 甲骨文時間戳SQL查詢
- 7. 比較兩個時間戳甲骨文
- 8. 甲骨文時間戳錯誤
- 9. 鑄造時間戳日期甲骨文
- 10. 甲骨文時間戳Unix紀元時間戳在PHP
- 11. 時間戳在Linux的數據庫查詢VS甲骨文
- 12. 甲骨文空間數據
- 13. 甲骨文 - 計數時間戳其中時間戳超過1小時
- 14. 時間戳數據類型
- 15. 甲骨文時間戳UTC時間格式
- 16. 甲骨文對象類型
- 17. 甲骨文內置類型
- 18. 轉換時間戳字符串轉換成數在甲骨文
- 19. 甲骨文時間過長
- 20. 甲骨文自定義類型參數
- 21. 甲骨文「PL/SQL表」類型OracleDbType型
- 22. 甲骨文分型與主要類型
- 23. 甲骨文時間戳更新/插入一年解釋
- 24. 如何加載到甲骨文時間戳> 12345678900
- 25. 甲骨文sqlldr時間戳格式頭痛
- 26. 甲骨文時間戳,最大值和最小值
- 27. 檢查在約束時間戳在甲骨文
- 28. 甲骨文變更日期到時間戳
- 29. 集甲骨文當前時間戳來JPA實體
- 30. 甲骨文時間戳精度不服從
THX很多,你也較快,所以我接受你的答案雖然兩者都是正確 – hudi
@hudi - 顯然Michael和我都不需要點數,所以我不會在這裏追逐代表。總的原則是你應該接受*最好*答案,而不是簡單的第一個(除非第一個也是最好的)。在將來答覆答案時請記住這一點。 – APC
要說清楚,我並不是說邁克爾的答案不是我的答案。 – APC