共計(jì) 640 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
這篇文章給大家分享的是有關(guān) MYSQL 中 timestamp 取值范圍是什么的內(nèi)容。丸趣 TV 小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過(guò)來(lái)看看吧。
TIMESTAMP 和 DATETIME 的取值范圍不同同時(shí)存儲(chǔ)不同,
TIMESTAMP 占四個(gè)字節(jié)取值范圍為 1970-01-01 00:00:00 到 2038-01-19 3:14:07
那么為什么是這個(gè)取值范圍呢 4 個(gè)字節(jié)明顯不夠存儲(chǔ)日期格式。4 字節(jié)為 2^32 次方
那么我們可以分析 timestamp 實(shí)際是 C 語(yǔ)言的一個(gè) INT 類型帶符號(hào)位的。
用 ORACLE 的格式算出來(lái)為
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 是因?yàn)閹Я朔?hào)位少了一位。所以是 31 次方,而減一因?yàn)閺?0 開(kāi)始而不是 1,比如 2 的 8 次方為 256 但是實(shí)際的數(shù)值是 0~255(FF)
可以想到 TIMESTAMP 實(shí)際是一個(gè)相加的過(guò)程 他存儲(chǔ)在內(nèi)部格式是一個(gè)表示秒的 int 類型 帶符號(hào)位
感謝各位的閱讀!關(guān)于“MYSQL 中 timestamp 取值范圍是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!