MySQL中的DATE, DATETIME以及TIMESTAMP數據類型

MySQL中的DATE, DATETIME以及TIMESTAMP數據類型他們是相關的,本文主要描述他們的特徵,他們如何類似,又有何不一樣。在日期和時間中,MySQL描述瞭如何從不一樣的格式中識別這三種類型。對於DATE和DATETIME的範圍描述,「支持」意味着比較早的時間值也許可以正確存儲使用,可是並不能必定保證。html

    DATE類型用於表示具備日期而沒有時間部分的數據,MySQL以「YYYY-MM-DD」格式檢索和展現DATE的數據。支持的範圍是「1000-01-01」到「9999-12-31」。mysql

    DATETIME類型用於表示同時具備日期和時間兩部分的數據。以「YYYY-MM-DD HH:MM:SS」格式檢索和展現數據。支持範圍是「1000-01-01 00:00:00」到「9999-12-31 23:59:59」。sql

    TIMESTAMP類型用於表示同時具備日期和時間兩部分的數據。支持範圍是「1970-01-01 00:00:01」UTC到「9999-12-31 23:59:59」UTC。(UTC:格林尼治標準時間)服務器

    MySQL將TIMESTAMP類型的值以當前時區轉換爲UTC時間存儲,並從UTC時間轉換到當前時區以供檢索。(其餘時間類型沒有這樣的特性)。默認狀況下,每一個鏈接的當前時區是服務器的時間。能夠在每一個鏈接的基礎上設置時區。只要時區設置保持不變,就能夠獲取到相同的數據內容。若是您存儲一個TIMESTAMP數據,而後更改時區並檢索該數據,則檢索到的數據會與您存儲的內容有差別。發生這種狀況是由於同一時區的數據在不一樣的時區下沒有轉換。當前時區的設置參考系統變量time_zone 。更多詳情,請參考 MySQL時區支持code

相關文章
相關標籤/搜索