程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中datetime與timestamp用法比較

MySQL中datetime與timestamp用法比較

編輯:MySQL綜合教程

在mysql中時間日期函數有很多我常用的有datetime與timestamp,它們雖然都是說是日期期,但是他們在表達上與范圍上還是有區別的,下面我來介紹一下。


區別對比


儲存

TIMESTAMP

1.4個字節儲存(Time stamp value is stored in 4 bytes)

2.值以UTC格式保存( it stores the number of milliseconds)

3.時區轉化 ,存儲時對當前的時區進行轉換,檢索時再轉換回當前的時區。

datetime

1.8個字節儲存(8 bytes storage)

2.實際格式儲存(Just stores what you have stored and retrieves the same thing which you have stored.)

3.與時區無關(It has nothing to deal with the TIMEZONE and Conversion.)


總結

相同點

都可以用於表示時間
都呈字符串顯示

不同點

顧名思義,date只表示’YYYY-MM-DD’形式的日期,datetime表示’YYYY-MM-DD HH:mm:ss’形式的日期加時間,timestamp與datetime顯示形式一樣。
date和datetime可表示的時間范圍為’1000-01-01’到’9999-12-31’,timestamp由於受32位int型的限制,能表示’1970-01-01 00:00:01’到’2038-01-19 03:14:07’的UTC時間。
mysql在存儲timestamp類型時會將時間轉為UTC時間,然後讀取的時候再恢復成當前時區。假如你存儲了一個timestamp類型的值之後,修改了mysql的時區,當你再讀取這個值時就會得到一個錯誤的時間。而這種情況在date和datetime中不會發生。
 
timestamp類型提供了自動更新的功能,你只需要將它的默認值設置為CURRENT_TIMESTAMP。
除了date是保留到天,datetime和timestamp都保留到秒,而忽略毫秒。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved