• MySQL INTERVAL 关键字指南


    在本教程中,我们将了解 MySQL INTERVAL 关键字及其值以对日期和时间算术执行操作。那么,让我们开始吧!

    另请阅读:MySQL 中的 While 循环 – 完整参考

    MySQL INTERVAL 简介

    在 MySQL 中,INTERVAL 关键字用于添加或减去日期和时间值。例如,如果您想在当天添加五天并显示新日期,您可以使用 INTERVAL 关键字。

    MySQL 为我们提供了一堆区间值。我们将在下面看到这些间隔值的完整列表。

    但首先,让我们看看如何使用 interval 关键字。

    INTERVAL exp UNIT;
    

    这里,exp 表示表达式,例如 1、2、100、200 或其他取决于单位的表达式。单位是计算日期和时间的度量单位,如日、时、分、秒等。

    在上面的语法中,INTERVAL 关键字和单位名称都是不区分大小写的。

    我们可以添加或减去间隔值,如下所示 -

     
    
    1. date + INTERVAL exp UNIT
    2. date - INTERVAL exp UNIT

    请注意,您指定的日期必须采用有效的日期时间格式。

    间隔值也可以与其他日期时间函数一起使用,例如 ADDDATE()、DATE_ADD()、DATE_SUB()、TIMESTAMPDIFF() 等。

    表达式和单位的格式

    下表显示了 exp 和 UNIT 的标准格式 -

    Unitexp
    DAYDAYS
    DAY_HOURDAYS HOURS
    DAY_MICROSECONDDAYS HOURS:MINUTES:SECONDS.MICROSECONDS
    DAY_MINUTEDAYS HOURS:MINUTES
    DAY_SECONDDAYS HOURS:MINUTES:SECONDS
    HOURHOURS
    HOUR_MICROSECONDHOURS:MINUTES:SECONDS.MICROSECONDS
    HOUR_MINUTEHOURS:MINUTES
    HOUR_SECONDHOURS:MINUTES:SECONDS
    MICROSECONDMICROSECONDS
    MINUTEMINUTES
    MINUTE_MICROSECONDMINUTES:SECONDS.MICROSECONDS
    MINUTE_SECONDMINUTES:SECONDS
    MONTHMONTHS
    QUARTERQUARTERS
    SECONDSECONDS
    SECOND_MICROSECOND‘SECONDS.MICROSECONDS’
    WEEKWEEKS
    YEARYEARS
    YEAR_MONTH‘YEARS-MONTHS’

    MySQL INTERVAL 示例

    在第一个示例中,我们将为当前日期添加 1 天。当前日期是 2022-07-05 (YYYY-MM-DD),所以输出必须是 2022-07-06。

     
    
    SELECT CURDATE() + INTERVAL 1 DAY;
    

    添加天间隔

    您还可以从日期中减去间隔。此外,您也可以指定自己的日期时间,但必须采用有效的日期时间格式。检查下面的示例 -

     
    
    SELECT '2022-01-01' - INTERVAL 1 DAY;

    在这里,我们指定了一年的第一天,并尝试从中减去 1 天。输出应包含上一年。让我们看看输出。

     

    减去天间隔

    如您所见,我们得到了预期的输出。

    让我们看看如何将间隔值与其他日期时间函数一起使用。

     
    
    1. SELECT DATE_ADD('2022-01-01',INTERVAL 10 DAY);
    2. SELECT DATE_SUB('2022-01-01',INTERVAL 10 DAY);

    在这里,我们使用了 DATE_ADD() 和 DATE_SUB() 函数来添加和减去指定日期的间隔值。

    让我们看看输出。

    日期添加和日期子功能

    正如你在这里看到的,我们得到了正确的输出。

    MySQL INTERVAL 实例

    现在我们将看到一些使用区间值的实际示例。

    我们将创建一个表格,我们将在其中存储会员的数据以及他们的注册日期和会员资格的到期日期。

    我们将使用 DATE_ADD() 函数计算到期日期。

     
    
    1. CREATE TABLE members(
    2. id INT AUTO_INCREMENT PRIMARY KEY,
    3. name VARCHAR(100),
    4. reg_date DATE DEFAULT(CURDATE()),
    5. exp_date DATE DEFAULT(DATE_ADD(reg_date,INTERVAL 1 YEAR))
    6. );

    这里,在注册时,MySQL 会将 reg_date 列的值设置为当前日期。根据注册日期,将计算到期日期。让我们尝试插入值并检查到期日期列是否获得正确的值。为此,我们将明确插入一些注册日期。

    1. INSERT INTO members(name) VALUES ("Bob"),("Vilas"),("John");
    2. INSERT INTO members(reg_date,name) VALUES ('2022-08-01',"Adam"),('2022-08-04',"Cetty");

    让我们检查一下输出。

     
    
    SELECT * FROM members;
    

    区间实例

    如您所见,到期日期设置为注册日期后 1 年。

    概括

    在本教程中,我们了解了 interval 关键字及其值。注意,区间的范围很广。您可以将其用于不同的目的,例如查找将在未来 10 天内完成课程的学生、会员将在下个月到期的成员列表等。练习!

     

  • 相关阅读:
    如何使用 JS 判断用户是否处于活跃状态
    js中获取json的值:使用 JSON.parse() 方法
    Kubernetes---配置 Pod 以使用 PersistentVolume 作为存储
    GLM4 开源了!!!
    长沙夜经济,每天双十一
    Android应用自启动保活手段与安全现状分析
    [C++ 网络协议] 重叠I/O模型
    字符串的一些有趣案例
    VScode开发ARM环境搭建
    共享停车位小程序,微信小程序停车场车位,微信小程序停车场系统毕设作品
  • 原文地址:https://blog.csdn.net/allway2/article/details/126099964