2012-10-31 128 views
3

我正在創建一個數據庫,我對使用日期或時間戳記字段有點困惑。oracle日期時間的數據類型

我需要創建一些觸發器來檢查可用日期和時間,所以我認爲我可以使用相同的字段來存儲這兩個值。

我更傾向於使用TIMESTAMP,因此;

TO_TIMESTAMP('18/03/2012 02:24', 'DD/MM/YYYY HH24:MI') 

將使用時間戳比使用日期更好嗎?或不同領域的日期和時間。

乾杯

回答

3

的DATE數據類型還存儲時間,這樣你就不會需要兩個字段。兩者之間的區別是

  1. 時間戳下降到小數秒
  2. 扣除兩個時間戳(時間戳的時間戳)導致的時間間隔的數據類型的回答。對於日期,您會得到一個NUMBER,這是一個以天爲單位的數字。
  3. 如果您需要存儲時區,則可以使用TIMESTAMP WITH TIME ZONE,但無法在日期字段中執行此操作。
  4. 日期採取稍微較少的存儲空間(7個字節VS時間戳11個字節)(當時間戳的精度> 0..otherwise時間戳(0)也7個字節)

時間戳數據類型是更現代(ASNI),而DATE則在甲骨文時間更長。

+0

請注意,默認情況下,「TIMESTAMP」擴展爲「TIMESTAMP WITH LOCAL TIME ZONE」。 TIMESTAMP WITH TIME ZONE似乎表現爲完全獨立的數據類型。 – jpmc26

相關問題