mysql8.0日期类型_Mysql学习-数据类型(日期时间类型)
日期時間類型
a.如果表示年月日,通常用DATE表示
b.如果表示年月日時分秒,通常用DATETIME表示
c.如果表示時分秒,通常同TIME表示
日期和時間類型
字節
最小值
最大值
DATE
4
1000-01-01
9999-12-31
DATETIME
8
1000-01-01 00:00:00
9999-12-31 23:59:59
TIMESTAMP
4
19700101080001
2038年的某一時刻
TIME
3
-838:59:59
838:59:59
YEAR
1
1901
2155
d.如果只表示年份,可以用YEAR來表示,它比DATE占用更少的空間,一般YEAR有4位和2位的格式,默認為4位的格式,允許的值是1901~2155和0000,2位格式?的基本廢棄
e.可以看出每種日期都有一個有效值范圍,如果超出這個范圍系統會錯誤提示,并且以零值來進行存儲
datatime 0000-00-00 00:00:00
date 0000-00-00
timestamp 00000000000000
time? 00:00:00
year? ? ? ?0000
創建date,datetime,time類型的表舉例
用now()函數插入當前日期
創建測試表t1,用來測試TIMESTAMP類型
創建的時候系統自動給加上了CURRENT_TIMESTAMP(系統日期),插入一個NULL值
果然就默認顯示了當前的系統時間,不過Mysql只給表中的第一個TIMESTAMP字段設置默認值,如果有第二個TIMESTAMP類型,則默認設置為0
在添加一個TIMESTAMP類型的字段
因此mysql中同一個表中只有一列的默認值為current_timestamp,強制修改會報錯的哦!!!
f.? ? TIMESTAMP還有一個特性就是與時區有關,當插入日期時,會先轉化為本地時區后存放,而從數據庫里面取出時,也同樣將日期轉化為本地時區后顯示,
這樣2個不同的用戶看到的同一個日期可能是不一樣的
創建一個表
當前時區為東八區,結果顯示倆個值都是相同的
當修改時區為東九區的時候
此時,id1位timestamp,id2位datetime,兩者之間差了1個小時
所以timstamp插入和查詢都受當地時區的影響,更能反映出實際的日期,而DATETIME只能反映出插入時當地的時區,其他時區的人查看必然會出現誤差
總結
以上是生活随笔為你收集整理的mysql8.0日期类型_Mysql学习-数据类型(日期时间类型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TP-Link TL-WR882N 无线
- 下一篇: 暮云收尽溢清寒银汉无声转玉盘翻译