MySQL DATE_SUB 函数

  • 定义和用法

    DATE_SUB - 日期相减。
  • 语法

    DATE_SUB(date,INTERVAL expr unit)
    date是指定开始日期的DATETIME或DATE值。 expr是一个表达式,指定要从开始日期开始减少的间隔值。 expr是一个字符串; 它可以以“-”开头表示负间隔。 unit是一个关键字,指示应解释表达式的单位。INTERVAL关键字和单位说明符不区分大小写。下表显示了每个单位值的expr参数的预期形式;
    单位值 预期的expr格式
    MICROSECOND MICROSECONDS
    SECOND SECONDS
    MINUTE MINUTES
    HOUR HOURS
    DAY DAYS
    WEEK WEEKS
    MONTH MONTHS
    QUARTER QUARTERS
    YEAR YEARS
    SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
    MINUTE_MICROSECOND 'MINUTES.MICROSECONDS'
    MINUTE_SECOND 'MINUTES:SECONDS'
    HOUR_MICROSECOND 'HOURS.MICROSECONDS'
    HOUR_SECOND 'HOURS:MINUTES:SECONDS'
    HOUR_MINUTE 'HOURS:MINUTES'
    DAY_MICROSECOND 'DAYS.MICROSECONDS'
    DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
    DAY_MINUTE 'DAYS HOURS:MINUTES'
    DAY_HOUR 'DAYS HOURS'
    YEAR_MONTH 'YEARS-MONTHS'
    从MySQL 5.0.0开始,值QUARTER和WEEK可用。
  • 示例

    mysql> SELECT DATE_SUB('1997-12-31 23:59:59', 
       -> INTERVAL '1:1' MINUTE_SECOND);
    +---------------------------------------------------------+
    |       DATE_SUB('1997-12-31 23:59:59', INTERVAL...       |
    +---------------------------------------------------------+
    |                  1998-01-01 00:01:00                    |
    +---------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT DATE_SUB('1999-01-01', INTERVAL 1 HOUR);
    +---------------------------------------------------------+
    |         DATE_SUB('1999-01-01', INTERVAL 1 HOUR)         |
    +---------------------------------------------------------+
    |                   1999-01-01 01:00:00                   |
    +---------------------------------------------------------+
    1 row in set (0.00 sec)
    
    尝试一下