<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          在 MySQL 中處理日期和時間(一)

          共 1565字,需瀏覽 4分鐘

           ·

          2022-05-20 19:30

          第一章節(jié):DATE、TIME 和 DATETIME 類型


          絕大多數(shù)數(shù)據(jù)庫存儲了大量的“時態(tài)”數(shù)據(jù)。時態(tài)數(shù)據(jù)只是表示時間狀態(tài)的簡單數(shù)據(jù)。一個組織可能出于各種原因收集時態(tài)數(shù)據(jù),例如分析天氣模式和其他環(huán)境變量、監(jiān)控交通狀況、研究人口趨勢等。企業(yè)還經(jīng)常需要存儲有關(guān)何時下訂單、何時補(bǔ)貨、何時雇用員工,以及有關(guān)其日常業(yè)務(wù)的大量其他信息。


          你可能會感到很驚訝,關(guān)系數(shù)據(jù)庫不會以相同的方式存儲日期和時間。MySQL 尤其具有規(guī)范性。例如,它使用通用 yyyy-mm-dd 格式存儲日期值。此格式是固定的,不可更改。就算你更喜歡使用 mm-dd-yyyy 格式,也不可能這樣做。但是,你可以使用 DATE_FORMAT 函數(shù)在表示層(通常是應(yīng)用程序)中按照你想要的方式格式化日期。在“在 MySQL 中處理日期和時間”的前兩部分中,我們將從 DATE、TIME 和 DATETIME 開始研究 MySQL 的時態(tài)數(shù)據(jù)類型。

          • 類型一覽


          MySQL 提供了五種用于存儲日期和時間的類型,一些僅用于日期,另一些用于時間,還有一些包含兩者。下表總結(jié)了每種類型:



          本文的其余部分將更詳細(xì)地介紹 DATE、TIME 和 DATETIME 類型,而下一篇文章將重點(diǎn)介紹另外兩種類型。

          • DATE 類型


          MySQL 使用 3 個字節(jié)來存儲 DATE 值。DATE 值的范圍是從 1000-01-01 到 9999-12-31。此外,當(dāng)禁用嚴(yán)格模式(Strict Mode)時,MySQL 會將任何無效日期(例如 2015-02-30)轉(zhuǎn)換為零日期值 0000-00-00。


          在 Navicat 客戶端的表設(shè)計器中,你可以從“類型”下拉列表中選擇 DATE 類型:

          若要設(shè)置 DATE 值,你可以使用日歷控件簡單地選擇日期:


          當(dāng)然,你也可以使用 INSERT 語句插入 DATE:


          • TIME 類型


          MySQL 使用“HH:MM:SS”格式來查詢和顯示表示一天中 24 小時內(nèi)某個時間的時間值。當(dāng)表示兩個事件之間的時間間隔時,MySQL 使用大于 24 小時的“HHH:MM:SS”格式。


          以下是 Navicat 表設(shè)計“類型”下拉列表中的 TIME 類型:


          Navicat 提供了 TIME INPUT 控件設(shè)置 TIME 值:


          以下是一個設(shè)置開始和結(jié)束時間的 INSERT 語句:


          • DATETIME 類型


          很多時候,你需要同時存儲日期和時間。為此,你可以使用 MySQL DATETIME 類型。默認(rèn)情況下,DATETIME 值的范圍是從 1000-01-01 00:00:00 到 9999-12-31 23:59:59。當(dāng)你從 DATETIME 列查詢數(shù)據(jù)時,MySQL 會以相同的 YYYY-MM-DD HH:MM:SS 格式顯示 DATETIME 值。


          DATETIME 值使用 8 個字節(jié)進(jìn)行存儲。此外,DATETIME 值可以包含一個尾隨小數(shù)秒,最細(xì)可以到微秒,格式為 YYYY-MM-DD HH:MM:SS[.fraction],例如 2015-12-20 10:01:00.999999。


          對于輸入 DATETIME 值,Navicat 提供了 DATETIME INPUT 控件,它結(jié)合了 DATE 和 TIME 控件:


          DATETIME 值可以使用包含“T”時間部分描述符的字符串文字或通過轉(zhuǎn)換為 DATETIME 來設(shè)置:


          • 預(yù)告


          在探討了 DATE、TIME 和 DATETIME 類型之后,下一部分將介紹剩余的兩種時間類型:TIMESTAMP 和 YEAR。

          推薦閱讀


          (點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)

          MySQL字段類型最全解析

          關(guān)于日期及時間字段的查詢

          MySQL 中 blob 和 text 數(shù)據(jù)類型詳

          - End -
          動動手指轉(zhuǎn)發(fā)、在看
          是對我最大的鼓勵
          瀏覽 26
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产在线视频91 | 欧美区亚洲区 | 大鸡吧操逼 | 色五月成人网 | 五月丁香婷婷激情网 |