欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL加減間隔時間函數(shù)DATE_ADD和DATE_SUB的實現(xiàn)

 更新時間:2024年09月04日 11:27:55   作者:消碼哥  
mysql中內(nèi)置函數(shù)date_add 和 date_sub能對指定的時間進行增加或減少一個指定的時間間隔,本文主要介紹了MySQLDATE_ADD和DATE_SUB的實現(xiàn),感興趣的可以了解一下

前言

mysql中內(nèi)置函數(shù)date_add 和 date_sub能對指定的時間進行增加或減少一個指定的時間間隔,返回的是一個日期。

語法

添加時間間隔

DATE_ADD(date,INTERVAL expr type)

SELECT DATE_add(NOW(),INTERVAL -7 DAY);//獲取7天前的日期
SELECT DATE_add(NOW(),INTERVAL  7 DAY);//獲取7天后的日期

減少時間間隔

DATE_SUB(date, INTERVAL expr type)

SELECT DATE_SUB(NOW(),INTERVAL -7 DAY);//獲取7天后的日期
SELECT DATE_SUB(NOW(),INTERVAL  7 DAY);//獲取7天前的日期

參數(shù)說明

date 操作的時間
INTERVAL為關(guān)鍵詞
expr 具體數(shù)值
type 時間間隔單位

可用的type參數(shù)值如下:

在這里插入圖片描述

注意:type可以復(fù)合型的,比如 YEAR_MONTH。如果type不是復(fù)合型的,DATE_ADD和DATE_SUB其實可以通用,因為expr可以為一個負數(shù)。對應(yīng)復(fù)合型的type,需要使用引號對兩個參數(shù)進行引用起來,中間用任何非數(shù)字字符作為間隔即可,并且不能使用負數(shù)。但是時間間隔只指定了一個值, 那么也能正常工作,但是對應(yīng)XXX_YYY使用的是下劃線后YYY的單位,也就相當(dāng)于 一單位的type,這時也就可以使用負數(shù)。

示例代碼

復(fù)合型

select date_add('2024-04-29', interval '1 2' YEAR_MONTH); #結(jié)果:2025-06-29                                      
select date_add('2024-04-29', interval '1-2' YEAR_MONTH); #結(jié)果:2025-06-29                                    
select date_add('2024-04-29', interval '1,2' YEAR_MONTH); #結(jié)果:2025-06-29                                  
select date_add('2024-04-29', interval 1 YEAR_MONTH);  #結(jié)果:2024-05-29                              
select date_add('2024-04-29', interval -1 YEAR_MONTH); #結(jié)果:2024-03-29  

# 這里先減1年,再減2月,最后減1天,有點意思
select date_sub('2024-04-29', interval '1 2' YEAR_MONTH); #結(jié)果:2023-02-28                                      
select date_sub('2024-04-29', interval '1-2' YEAR_MONTH); #結(jié)果:2023-02-28                                    
select date_sub('2024-04-29', interval '1,2' YEAR_MONTH); #結(jié)果:2023-02-28     
                             
select date_sub('2024-04-29', interval 1 YEAR_MONTH);  #結(jié)果:2024-03-29                              
select date_sub('2024-04-29', interval -1 YEAR_MONTH); #結(jié)果:2024-05-29                                                 

非復(fù)合型

select date_add(now(), interval 1 day); # 加1天 2024-04-30 16:25:49
select date_add(now(),INTERVAL -1 DAY); # 當(dāng)前日期向前推1天 2024-04-28 16:25:49
select date_add(now(), interval 1 hour);# 加1小時 2024-04-29 17:25:49
select date_add(now(), interval 1 minute); # 加1分鐘 2024-04-29 16:26:49
select date_add(now(), interval 1 second); # 加1秒 2024-04-29 16:25:50
select date_add(now(), interval 1 microsecond); # 加1毫秒 2024-04-29 16:25:49.000001
select date_add(now(), interval 1 week); # 加1周 2024-05-06 16:25:49
select date_add(now(), interval 1 month);# 加1月 2024-05-29 16:25:49
select date_add(now(), interval 1 quarter); # 加1季 2024-07-29 16:25:49
select date_add(now(), interval 1 year);# 加1年 2025-04-29 16:25:49

select date_sub(now(), interval 1 day); # 減1天 2024-04-28 16:31:34
select date_sub(now(),INTERVAL -1 DAY); # 當(dāng)前日期向后推1天 2024-04-30 16:31:34
select date_sub(now(), interval 1 hour);# 減1小時 2024-04-29 15:31:34
select date_sub(now(), interval 1 minute); # 減1分鐘 2024-04-29 16:30:34
select date_sub(now(), interval 1 second); # 減1秒 2024-04-29 16:31:33
select date_sub(now(), interval 1 microsecond); # 減1毫秒 2024-04-29 16:31:33.999999
select date_sub(now(), interval 1 week); # 減1周 2024-04-22 16:31:34
select date_sub(now(), interval 1 month);# 減1月 2024-03-29 16:31:34
select date_sub(now(), interval 1 quarter); # 加1季 2024-01-29 16:31:34
select date_sub(now(), interval 1 year);# 減1年 2023-04-29 16:31:34 

運用

電商系統(tǒng)往往會有這樣一個功能,客戶收到貨后如果七天不點擊收貨按鈕話,系統(tǒng)會自動將訂單設(shè)置為完成。這個功能就要求查詢妥投七天后沒有點擊收貨按鈕的訂單,將它們設(shè)置為完成。

相關(guān)SQL:

SELECT
      o.order_id,
      o.third_order_id
    FROM
        cere_shop_order o
    WHERE
        o.state < 4
        AND o.interface_call_time <= DATE_SUB(NOW(), INTERVAL 7 DAY)

state 訂單狀態(tài),小于4查詢未完成的訂單,interface_call_time為妥投時間,o.interface_call_time <= DATE_SUB(NOW(), INTERVAL 7 DAY) 這里將當(dāng)前時間減去7天后,再去和妥投時間進行比較,小于或等于這個結(jié)果的都是妥投超過了7天的訂單。
這是比較推薦的寫法,但還可以寫成

SELECT
      o.order_id,
      o.third_order_id
    FROM
        cere_shop_order o
    WHERE
         o.state < 4
        AND DATE_ADD(o.interface_call_time,INTERVAL 7 DAY) < NOW();

這種寫法將要查詢的字段參與了函數(shù)計算,索引會失效,將會值全表掃描,性能很差,不推薦送使用。

到此這篇關(guān)于MySQL加減間隔時間函數(shù)DATE_ADD和DATE_SUB的實現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL DATE_ADD和DATE_SUB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL計劃任務(wù)(事件調(diào)度器) Event Scheduler介紹

    MySQL計劃任務(wù)(事件調(diào)度器) Event Scheduler介紹

    MySQL5.1.x版本中引入了一項新特性EVENT,顧名思義就是事件、定時任務(wù)機制,在指定的時間單元內(nèi)執(zhí)行特定的任務(wù),因此今后一些對數(shù)據(jù)定時性操作不再依賴外部程序,而直接使用數(shù)據(jù)庫本身提供的功能
    2013-10-10
  • 通過DML更新MySQL數(shù)據(jù)庫數(shù)據(jù)的示例代碼

    通過DML更新MySQL數(shù)據(jù)庫數(shù)據(jù)的示例代碼

    這篇文章主要給大家介紹了如何通過DML更新MySQL數(shù)據(jù)庫的數(shù)據(jù),通過DML來對數(shù)據(jù)庫種地表的數(shù)據(jù)記錄進行增刪改查操作,文中給大家了詳細的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2024-01-01
  • mysql遞歸查詢所有子集的實現(xiàn)方法

    mysql遞歸查詢所有子集的實現(xiàn)方法

    本文主要介紹了mysql遞歸查詢所有子集的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 詳解MySQL如何使用離線模式維護服務(wù)器

    詳解MySQL如何使用離線模式維護服務(wù)器

    這篇文章主要為大家介紹了MySQL如何使用離線模式維護服務(wù)器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • mysql數(shù)據(jù)庫常見的優(yōu)化操作總結(jié)(經(jīng)驗分享)

    mysql數(shù)據(jù)庫常見的優(yōu)化操作總結(jié)(經(jīng)驗分享)

    這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫常見的優(yōu)化操作,文章總結(jié)的都是個人日常開發(fā)使用mysql數(shù)據(jù)庫的經(jīng)驗所得,其中包括Index索引、少用SELECT*、EXPLAIN SELECT以及開啟查詢緩存等相關(guān)資料,相信會對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • MySQL?INSERT語句實現(xiàn)當(dāng)記錄不存在時插入的幾種方法

    MySQL?INSERT語句實現(xiàn)當(dāng)記錄不存在時插入的幾種方法

    MySQL的INSERT語句是用于向數(shù)據(jù)庫表中插入新記錄的關(guān)鍵命令,下面這篇文章主要介紹了MySQL?INSERT語句實現(xiàn)當(dāng)記錄不存在時插入的幾種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • mysql 5.7.11 winx64快速安裝配置教程

    mysql 5.7.11 winx64快速安裝配置教程

    這篇文章主要為大家分享了mysql5.7.11 winx64安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2016-07-07
  • MySQL 集群遷移到 Kubernetes操作步驟

    MySQL 集群遷移到 Kubernetes操作步驟

    這篇文章主要為大家介紹了MySQL 集群遷移到 Kubernetes使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • MySQL 使用 Performance Schema 定位和解決慢 SQL 問題

    MySQL 使用 Performance Schema 定位和解決慢 

    本文介紹了如何使用MySQL的PerformanceSchema來定位和解決慢SQL查詢問題,通過啟用PerformanceSchema并分析相關(guān)的系統(tǒng)表,可以收集到詳細的性能數(shù)據(jù),從而識別出影響性能的SQL語句,優(yōu)化策略包括優(yōu)化查詢語句、調(diào)整數(shù)據(jù)庫配置等
    2025-02-02
  • 如何清除mysql注冊表

    如何清除mysql注冊表

    在本篇文章里小編給大家整理的是關(guān)于如何清除mysql注冊表的相關(guān)知識點內(nèi)容,有需要的朋友們可以參考下。
    2020-08-08

最新評論