當前位置:生活全書館 >

IT科技

> datetime格式 mysql

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張

標籤: 格式 datetime mysql
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/llxzkx.html