mysql中有多種表示日期和時間的資料型別。其中year表示年份,date表示日期,time表示時間,datetime和timestamp表示日期和實踐。它們的對比如下:
日期時間型別
占用空間
日期格式
最小值最大值
零值示例
datetime
8 bytes
yyyy-mm-dd hh:mm:ss
1000-01-01 00:00:00
9999-12-31 23:59:59
0000-00-00 00:00:00
timestamp
4 bytes
yyyy-mm-dd hh:mm:ss
19700101080001
2038 年的時刻 20380119111407
00000000000000
date
4 bytes
yyyy-mm-dd
1000-01-01
9999-12-31
0000-00-00
time
3 bytes
hh:mm:ss
-838:59:59
838:59:59
00:00:00
year
1 bytes
yyyy
1901
2155
0000
每種型別的日期時間有效值都有乙個區間,如果操作時不在區間內,系統會報錯並以零值(見上表)儲存。
datetime
datetime 用於表示 年月日 時分秒,是 date 和 time 的組合,並且記錄的年份(見上表)比較長久。如果實際應用中有這樣的需求,就可以使用 datetime 型別。
如果記錄的日期需要讓不同時區的人使用,最好使用 timestamp。
date
date 用於表示 年月日,如果實際應用值需要儲存 年月日 就可以使用 date。
time
time 用於表示 時分秒,如果實際應用值需要儲存 時分秒 就可以使用 time。
year
year 用於表示 年份,year 有 2 位(最好使用4位)和 4 位格式的年。 預設是4位。如果實際應用只儲存年份,那麼用 1 bytes 儲存 year 型別完全可以。不但能夠節約儲存空間,還能提高表的操作效率。
插入或更新時,日期時間型別允許「不嚴格」語法,以datetime為例(其他日期時間型別雷同):
MySQL的五種日期和時間型別
mysql中有多種表示日期和時間的資料型別。其中year表示年份,date表示日期,time表示時間,datetime和timestamp表示日期和實踐。它們的對比如下 year 位元組數為1,取值範圍為 1901 2155 date,位元組數為4,取值範圍為 1000 01 01 9999 12 ...
MySQL的五種日期和時間型別
mysql中有多種表示日期和時間的資料型別。其中year表示年份,date表示日期,time表示時間,datetime和timestamp表示日期和實踐。它們的對比如下 year 位元組數為1,取值範圍為 1901 2155 date,位元組數為4,取值範圍為 1000 01 01 9999 12 ...
mysql日期時間戳轉換 mysql日期時間戳轉換
1.mysql獲取當前時間戳 mysql select unix timestamp unix timestamp 1525739078 1 row in set mysql select unix timestamp now unix timestamp now 1525739117 1 row ...