萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL中datetime與timestamp用法比較

MySQL中datetime與timestamp用法比較

在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都保留到秒,而忽略毫秒。

copyright © 萬盛學電腦網 all rights reserved