日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL建表时,五种日期和时间类型选择

發布時間:2025/6/17 数据库 43 如意码农
生活随笔 收集整理的這篇文章主要介紹了 MySQL建表时,五种日期和时间类型选择 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  MySQl中有多種表示日期和時間的數據類型。其中YEAR表示年份,DATE表示日期,TIME表示時間,DATETIME和TIMESTAMP表示日期和實踐。它們的對比如下:
日期時間類型
占用空間
日期格式
最小值
最大值
零值示例
 DATETIME
 8 bytes
 YYYY-MM-DD HH:MM:SS
 1000-01-01 00:00:00
9999-12-31 23:59:59 
0000-00-00 00:00:00
 TIMESTAMP
 4 bytes
 YYYY-MM-DD HH:MM:SS
 19700101080001
2038 年的時刻 20380119111407
00000000000000
 DATE
 4 bytes
 YYYY-MM-DD
1000-01-01 
9999-12-31 
0000-00-00
 TIME
 3 bytes
 HH:MM:SS
 -838:59:59
838:59:59 
00:00:00
 YEAR
 1 bytes
 YYYY
1901 
2155 
0000
   每種類型的日期時間有效值都有一個區間,如果操作時不在區間內,系統會報錯并以零值(見上表)存儲。
 DATETIME
   DATETIME 用于表示 年月日 時分秒,是 DATE 和 TIME 的組合,并且記錄的年份(見上表)比較長久。如果實際應用中有這樣的需求,就可以使用 DATETIME 類型。
 TIMESTAMP
  • TIMESTAMP 用于表示 年月日 時分秒,但是記錄的年份(見上表)比較短暫。
  • TIMESTAMP 與時區相關,更能反映本地時區當前時間。當插入日期時,會先轉換為本地時區后再存放;當查詢日期時,會將日期轉換為本地時區后再顯示。所以不同時區的人看到的同一時間是不一樣的。
  • 表中的第一個 TIMESTAMP 列自動設置為系統時間(CURRENT_TIMESTAMP,即會默認加上DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP屬性)。當插入或更新一行,但沒有明確給 TIMESTAMP 列賦值,也會自動設置為當前系統時間。如果表中有第二個 TIMESTAMP 列,則默認值設置為0000-00-00 00:00:00。
  • TIMESTAMP 的屬性受 Mysql 版本和服務器 SQLMode 的影響較大。
  • 如果需要將timestamp內容顯示為數字,檢索時將timestamp列+0即可,datetime類型同理

如果記錄的日期需要讓不同時區的人使用,最好使用 TIMESTAMP。

 DATE
  DATE 用于表示 年月日,如果實際應用值需要保存 年月日 就可以使用 DATE。
 TIME
  TIME 用于表示 時分秒,如果實際應用值需要保存 時分秒 就可以使用 TIME。
 YEAR
  YEAR 用于表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默認是4位。如果實際應用只保存年份,那么用 1 bytes 保存 YEAR 類型完全可以。不但能夠節約存儲空間,還能提高表的操作效率。
   插入或更新時,日期時間類型允許“不嚴格”語法,以DATETIME為例(其他日期時間類型雷同):
  • YYYY-MM-DD HH:MM:SS 或 YY-MM-DD HH:MM:SS 格式的字符串。任何符號都可以用作日期部分或時間部分的間隔符。例如:“14-06-18 14:54:10”、“14*06*18 14.54.10”、“14+06+18 14=54=10”是等價的。對于包含日期時間的字符串值,如果月、日、時、分、秒的值小于10,不需要指定兩位數。例如:“2014-2-3 2:3:6”、“2014-02-03 02:03:06”是等價的。
  • YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的字符串。如果字符串對于日期時間類型是合法的就可以解釋為日期時間類型。例如:“20140618145410” 和 “140618145410”將被解釋為 “2014-06-18 14:54:10” ,但是 “20140618145480” 是不合法的(秒數不合法),將被解釋為 “0000-00-00 00:00:00”。
  • YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的數字。如果該數字對日期時間類型是合法的就可以解釋為日期時間類型。例如:“20140618145410” 和 “140618145410” 將被解釋為 “2014-06-18 14:54:10” 。數值的長度應為6、8、12、14。如果數值長度是 8 或 14 位長,則假定為 YYYYMMDD 或 YYYYMMDDHHMMSS 格式。如果數值為 6 或 12 位長,則假定為 YYMMDD 或 YYMMDDHHMMSS 格式。

總結

以上是生活随笔為你收集整理的MySQL建表时,五种日期和时间类型选择的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。