最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 中 DATE / DATETIME / TIMESTAMP 的區(qū)別小結(jié)

 更新時(shí)間:2026年02月12日 08:51:04   作者:Knight_AL  
在 MySQL 中,DATE、DATETIME、TIMESTAMP 都用來(lái)表示時(shí)間,但語(yǔ)義、存儲(chǔ)方式以及對(duì)時(shí)區(qū)的處理完全不同,本文就來(lái)詳細(xì)的介紹一下這三種的用法,感興趣的可以了解一下

在 MySQL 中,DATE、DATETIME、TIMESTAMP 都用來(lái)表示時(shí)間,但語(yǔ)義、存儲(chǔ)方式以及對(duì)時(shí)區(qū)的處理完全不同。如果不理解這些差異,很容易在系統(tǒng)國(guó)際化或統(tǒng)計(jì)分析時(shí)踩坑。

一、核心區(qū)別一覽表

類型是否包含時(shí)間是否涉及時(shí)區(qū)存儲(chǔ)大小典型用途
DATE? 僅日期? 否3 bytes生日、賬期、自然日
DATETIME? 日期+時(shí)間? 否8 bytes業(yè)務(wù)時(shí)間、規(guī)則時(shí)間
TIMESTAMP? 日期+時(shí)間? 是4 bytes事件發(fā)生時(shí)間、日志

二、DATE:只表示“哪一天”

DATE
-- 示例:2025-12-16

特點(diǎn)

  • 只包含年 / 月 / 日
  • 不包含具體時(shí)間
  • 不受時(shí)區(qū)影響

適合場(chǎng)景

  • 生日
  • 財(cái)務(wù)賬期
  • 按天統(tǒng)計(jì)的數(shù)據(jù)

?? DATE 不表示時(shí)間點(diǎn),因此不涉及跨時(shí)區(qū)問(wèn)題。

三、DATETIME:不關(guān)心時(shí)區(qū)的“本地時(shí)間”

DATETIME
-- 示例:2025-12-16 14:30:00

核心語(yǔ)義

墻上時(shí)間(Wall Clock Time)

  • MySQL 不會(huì)做任何時(shí)區(qū)轉(zhuǎn)換
  • 存什么就是什么
  • 不同國(guó)家查詢結(jié)果完全一致

示例

INSERT INTO t VALUES ('2025-12-16 14:30:00');

無(wú)論在中國(guó)還是美國(guó)查詢,結(jié)果都是:

2025-12-16 14:30:00

適合場(chǎng)景

  • 預(yù)約時(shí)間(“當(dāng)?shù)?9 點(diǎn)開會(huì)”)
  • 促銷、業(yè)務(wù)規(guī)則時(shí)間
  • 和地理位置強(qiáng)綁定的時(shí)間

?? 不適合表示“事件發(fā)生的真實(shí)時(shí)間”

四、TIMESTAMP:表示“絕對(duì)時(shí)間點(diǎn)”

TIMESTAMP

核心語(yǔ)義

全球唯一的時(shí)間瞬間(UTC)

  • 底層統(tǒng)一存 UTC
  • 寫入時(shí):本地時(shí)區(qū) → UTC
  • 查詢時(shí):UTC → 當(dāng)前 session 時(shí)區(qū)
  • 同一條記錄在不同時(shí)區(qū)顯示不同時(shí)間

示例

-- session time_zone = '+08:00'
INSERT INTO t VALUES (NOW());

數(shù)據(jù)庫(kù)存儲(chǔ)的是:                       

2025-12-16 06:30:00 (UTC)

-- session time_zone = '-05:00'
SELECT time FROM t;

查詢結(jié)果為:

2025-12-16 01:30:00

?? 顯示不同,但指向同一個(gè)瞬間。

五、三者如何選擇?

推薦原則

先想清楚:你要表達(dá)的是“同一個(gè)瞬間”,還是“同一個(gè)顯示時(shí)間”?

  • 同一個(gè)瞬間 → TIMESTAMP
  • 同一個(gè)顯示時(shí)間 → DATETIME
  • 只關(guān)心日期 → DATE

六、跨國(guó)系統(tǒng)的推薦做法

在跨國(guó) / 多時(shí)區(qū)系統(tǒng)中:

  • 事件時(shí)間(創(chuàng)建、支付、日志)
    ?? 使用 TIMESTAMP
  • 業(yè)務(wù)規(guī)則時(shí)間(預(yù)約、促銷)
    ?? 使用 DATETIME
  • 純?nèi)掌谧侄?br />?? 使用 DATE

常見設(shè)計(jì)示例

created_at   TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
biz_time     DATETIME  NOT NULL
biz_timezone VARCHAR(32)

這樣既能保證技術(shù)上的時(shí)間統(tǒng)一,又不丟失業(yè)務(wù)語(yǔ)義

七、總結(jié)

  • DATE:表示“哪一天”
  • DATETIME:表示“本地時(shí)間,不變”
  • TIMESTAMP:表示“絕對(duì)時(shí)間,會(huì)隨時(shí)區(qū)變化”

到此這篇關(guān)于MySQL 中 DATE / DATETIME / TIMESTAMP 的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)MySQL DATE DATETIM TIMESTAMP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中取系統(tǒng)當(dāng)前時(shí)間,當(dāng)前日期方便查詢判定的代碼

    mysql中取系統(tǒng)當(dāng)前時(shí)間,當(dāng)前日期方便查詢判定的代碼

    今天在寫一段查詢語(yǔ)句的時(shí)候,需要判定結(jié)束日期是不是大于當(dāng)前日期,一般情況下都是通過(guò)php判定日期,然后查詢。
    2011-12-12
  • mariadb集群搭建---Galera Cluster+ProxySQL教程

    mariadb集群搭建---Galera Cluster+ProxySQL教程

    這篇文章主要介紹了mariadb集群搭建---Galera Cluster+ProxySQL教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL 索引和數(shù)據(jù)表該如何維護(hù)

    MySQL 索引和數(shù)據(jù)表該如何維護(hù)

    使用合適的數(shù)據(jù)類型完成數(shù)據(jù)表創(chuàng)建和建立索引后,工作并沒有完結(jié)——你需要去維護(hù)數(shù)據(jù)表和索引以保證它們運(yùn)行良好。數(shù)據(jù)表維護(hù)的主要目的是查找和修復(fù)沖突,維護(hù)精確的索引統(tǒng)計(jì)和減少碎片。
    2021-05-05
  • MySQL常用聚合函數(shù)詳解

    MySQL常用聚合函數(shù)詳解

    下面小編就為大家?guī)?lái)一篇MySQL常用聚合函數(shù)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • MySQL數(shù)據(jù)庫(kù)卸載以及刪除所有有關(guān)信息詳細(xì)步驟

    MySQL數(shù)據(jù)庫(kù)卸載以及刪除所有有關(guān)信息詳細(xì)步驟

    在MySQL中數(shù)據(jù)刪除操作不僅僅是簡(jiǎn)單地將某一個(gè)或多個(gè)行刪除,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)卸載以及刪除所有有關(guān)信息的詳細(xì)步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 深入mysql慢查詢?cè)O(shè)置的詳解

    深入mysql慢查詢?cè)O(shè)置的詳解

    本篇文章是對(duì)mysql慢查詢?cè)O(shè)置進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案

    MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案

    在Java+MySQL的開發(fā)中,我們通常使用ORM框架來(lái)映射數(shù)據(jù)庫(kù)表與 Java 對(duì)象,但有時(shí)候,數(shù)據(jù)庫(kù)表結(jié)構(gòu)變更(如新增字段)后,開發(fā)人員可能忘記同步更新Java實(shí)體類,會(huì)導(dǎo)致什么問(wèn)題?接下小編給大家介紹了MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案
    2025-03-03
  • 幾道MySQL的精選大廠面試題及回答(被提問(wèn)的幾率很高!)

    幾道MySQL的精選大廠面試題及回答(被提問(wèn)的幾率很高!)

    金三銀四是面試求職高峰期,最近有很多網(wǎng)友都在求大廠面試題,發(fā)出來(lái)分享給大家,這篇文章主要介紹了幾道MySQL的精選大廠面試題及回答,這些題被提問(wèn)的幾率很高,需要的朋友可以參考下
    2026-04-04
  • 圖文詳解mysql5.7安裝教程

    圖文詳解mysql5.7安裝教程

    這篇文章主要以圖文結(jié)合的方式為大家詳細(xì)介紹了mysql5.7安裝教程的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • MySQL中data_sub()函數(shù)定義和用法

    MySQL中data_sub()函數(shù)定義和用法

    使用 date_sub() 函數(shù),從 answer_date 減去相應(yīng)的天數(shù),這個(gè)天數(shù)是由上面計(jì)算的行號(hào)決定,也就是減去行號(hào),從而來(lái)生成一個(gè)新的日期,這篇文章主要介紹了MySQL中data_sub()函數(shù),需要的朋友可以參考下
    2024-02-02

最新評(píng)論

泰安市| 芦溪县| 蓝山县| 塔河县| 南宁市| 石河子市| 建水县| 霸州市| 玛纳斯县| 锦州市| 景东| 永靖县| 武邑县| 屏边| 祥云县| 竹北市| 通海县| 宁乡县| 龙岩市| 临沂市| 阿巴嘎旗| 汽车| 株洲县| 全椒县| 宁蒗| 深圳市| 黎平县| 临朐县| 招远市| 社会| 太湖县| 阿克陶县| 陆川县| 太仆寺旗| 师宗县| 和林格尔县| 民丰县| 中方县| 阿克陶县| 太白县| 芜湖县|