您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關MYSQL中timestamp取值范圍是什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
TIMESTAMP和DATETIME的取值范圍不同同時存儲不同,
TIMESTAMP占四個字節取值范圍為 1970-01-01 00:00:00 到 2038-01-19 3:14:07
那么為什么是這個取值范圍呢 4個字節明顯不夠存儲日期格式。4字節為2^32次方
那么我們可以分析timestamp實際是C語言的一個INT 類型帶符號位的。
用ORACLE的格式算出來為
SQL> select to_date('1970-01-01 00:00:00','yyyy-mm-dd hh34:mi:ss')+(power(2,31)-1)/(60*60*24) from dual;
TO_DATE('1970-01-0100:00:00','
------------------------------
2038/1/19 3:14:07
2^31是因為帶了符號位少了一位。所以是31次方,而減一因為從0開始而不是1,比如2的8次方為256但是實際的數值是0~255(FF)
可以想到TIMESTAMP實際是一個相加的過程 他存儲在內部格式是一個表示秒的 int類型 帶符號位
感謝各位的閱讀!關于“MYSQL中timestamp取值范圍是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。