IT科技

當前位置 /首頁/IT科技 > /列表

datetime格式,mysql

mysql中datetime格式是:yyyy-MM-dd HH:mm:ss

例如:2021-10-31 00:00:00  2021-10-31 08:00:00

mysql datetime格式

拓展資料:

mysql datetime與timestamp區別

datetime: 

1、保存格式為YYYYMMDDHHMMSS(年月日時分秒)的整數,所以,它與時區無關,存入的是什麼值就是什麼值,不會根據當前時區進行轉換。

2、從mysql 5.6.4中,可以存儲小數片段,最多到小數點後6位,顯示時格式為 yyyy-MM-dd HH:mm:ss[.222222]

mysql5.5中,沒有小數片段,精確到秒。所以,我再從5.6版本遷移到5.5時,因生成的sql中datetime(6)有小數片段,無法導入

3、存儲範圍:從1000-01-01 00:00:00 到'9999-12-31 23:59:59'

4、長度,8個字節,datetime(n),n不是存儲長度,而是顯示的小數位數,即使小數位數是0,存儲是也是存儲的6位小數,僅僅顯示0位而已;要想顯示小數,設置datetime(n),n=3顯示小數點後3位,毫秒,n=6顯示小數點後6位,微秒。

timestamp:

1、存入的是自1970-01-01午夜(格林尼治標準時間)以來的秒數,它和unix時間戳相同。所以它與時區有關,查詢時轉為相應的時區時間。比如,存儲的是1970-01-01 00:00:00,客户端是北京,那麼就加8個時區的小時1970-01-01 08:00:00。

2、有小數片段,至少從5.5就開始有

3、存儲範圍:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' 

4、可以當做時間戳使用,在更新時,自動更新,這一列只能由系統自動更新,不能由sql更新,這個在樂觀鎖時有廣泛的應用

6、長度,4字節,因為存儲長度的原因,決定了它支持的範圍的比datetime的要小

7、顯示時,顯示日期和時間

datetime和timestamp都可以當作時間戳使用

datetime和timestamp都可以設置默認值,並且在其他列值更新時更新為當前時間,DEFAULT  CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP,這倆子句可以一起使用,順序無所謂,一起使用的意思是,默認值是當前時間並且在其他列更新值時,此列更新為當前時間。

ALTER TABLE `mytest`.`date_time_test` 

CHANGE COLUMN `col2` `col2` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;

date

date,時分秒都存儲了,但只顯示日期。對應java中的java.sql.Date

datetime與時區無關、timestamp與時區有關

1、查看當前時區,並創建表test_date,一個是timestamp列,一個是datetime列

mysql datetime格式 第2張

2、插入兩條數據,相同的時間。修改時區為0時區(格林尼治時區)後,查看時間,發現timestamp改變了,datetime沒變。

mysql datetime格式 第3張

TAG標籤:mysql 格式 datetime #