MySQL建表時,五種日期和時間型別選擇

2022-03-29 06:37:10 字數 1394 閱讀 7520

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 ...