<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 中處理日期和時間(五)

          共 1438字,需瀏覽 3分鐘

           ·

          2022-06-10 03:00

          第五章節(jié):如何在 SELECT 查詢中使用時態(tài)數據


          在 MySQL 中的日期和時間系列的最后一部分中,我們將通過編寫 SELECT 查詢來將迄今為止學到的所有知識付諸實踐,以獲得對數據的與日期相關的細節(jié)。

          • 從 Datetime 列中選擇日期


          數據庫從業(yè)人員在嘗試查詢日期時遇到的首要挑戰(zhàn)之一是大量時間數據存儲為 DateTime 和 Timestamp 數據類型。例如,Sakila 示例數據庫將 customer 表的 create_date 列存儲為 Datetime:


          因此,如果我們嘗試選擇在特定日期創(chuàng)建的客戶記錄,就不能只提供日期值:


          一個簡單的解決方法是使用 DATE() 函數將 Datetime 值轉換為日期:


          現在,任何匹配日期的記錄都將被返回。

          • 獲取兩個日期之間的差異


          執(zhí)行確定某件事發(fā)生多久之前的查詢是非常常見的。在 MySQL 中,這樣做的方法是使用 DATEDIFF() 函數。它接受兩個日期值并返回它們之間的天數。以下是一個簡單示例:


          請注意,在上面的示例中,DATEDIFF() 讓我們知道第一個日期比第二個日期晚 10 天。第一個參數也可以使用更早的日期,它將返回一個負值:


          • 計算天數以外的時間段


          對于天數以外的時間段,我們需要做一些轉換。例如,我們可以除以 7 來獲得兩個日期之間的周數。使用舍入可以在結果中顯示整數周:

          ROUND(DATEDIFF(end_date, start_date)/7, 0) AS weeksout


          對于其他時間段,TIMESTAMPDIFF() 函數可能會有所幫助。它接受兩個 TIMESTAMP 或 DATETIME 值(DATE 值將在 MySQL 中自動轉換)以及我們想要差異的時間單位。例如,我們可以在第一個參數中指定 MONTH 作為單位:


          SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-04')

          -- Outputs: 0

          SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-05')

          -- Outputs: 1

          SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-15')

          -- Outputs: 1

          SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-12-16')

          -- Outputs: 7

          • 一個更復雜的例子


          一旦掌握了 DATEDIFF() 函數的竅門,就可以以更進階的方式使用它。舉個例子,這里有一個查詢,它使用 DATEDIFF() 函數來計算客戶在歸還電影之前租借的平均天數:


          為此,將 DATEDIFF() 函數的結果傳遞給 AVG() 函數,然后四舍五入到小數點后 1 位。

          • 系列總結


          我們在這個日期和時間系列中涵蓋了很多內容,包括:


          雖然在 MySQL 中處理時態(tài)數據肯定還有很多工作要做,但希望本系列能讓你在學習 MySQL 的道路上有個很好的開端。

          推薦閱讀


          (點擊標題可跳轉閱讀)

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

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

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

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

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产精品五月天 | 青娱在线视频 | 久久精品欧美 | 奇米影视7777狠狠狠狠色 | 国内精品视频在 线 |