赞
踩
一、定义
DATE_SUB() 函数从日期减去指定的时间间隔。
二、语法
DATE_SUB(date, INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
Type值 | 说明 |
MICROSECOND | 返回时间或日期时间表达式expr的微秒,这个数字范围为 0 到 999999 |
SECOND | 返回时间秒值,范围为0〜59。 |
MINUTE | 返回时间的分钟,范围为0至59。 |
HOUR | 返回时间的小时部分。返回值的范围为0至23的小时值。然而,TIME值的范围实际上要大得多,所以HOUR可以返回大于23的值。 |
DAY | 返回给定日期的月份的日期部分。 |
WEEK | 返回日期的星期数 |
MONTH | 返回日期的月份,取值范围为0〜12。 |
QUARTER | 返回年份日期的季度值,范围为1〜4 |
YEAR | 返回年份日期,范围为1000〜9999或0 |
SECOND_MICROSECOND | |
MINUTE_MICROSECOND | |
MINUTE_SECOND | |
HOUR_MICROSECOND | |
HOUR_SECOND | |
HOUR_MINUTE | |
DAY_MICROSECOND | |
DAY_SECOND | |
DAY_MINUTE | |
DAY_HOUR | |
YEAR_MONTH |
三、实例:
1、创建表:
- mysql> CREATE TABLE Orders(
- -> OrderId INT NOT NULL AUTO_INCREMENT,
- -> ProductName VARCHAR(100) NOT NULL,
- -> OrderDate DATETIME,
- -> PRIMARY KEY (OrderId)
- -> );
- Query OK, 0 rows affected (0.04 sec)
2、往表中插入一条数据:
- mysql> INSERT INTO Orders
- -> (ProductName, OrderDate)
- -> VALUES
- -> ("洗衣液", NOW());
- Query OK, 1 row affected (0.01 sec)
-
- mysql> SELECT * FROM Orders;
- +---------+-------------+---------------------+
- | OrderId | ProductName | OrderDate |
- +---------+-------------+---------------------+
- | 1 | 洗衣液 | 2019-12-20 11:33:10 |
- +---------+-------------+---------------------+
- 1 row in set (0.00 sec)
3、查询数据:
- mysql> SELECT OrderId, DATE_SUB(OrderDate, INTERVAL 5 DAY) AS SubtractDate FROM Orders;
- +---------+---------------------+
- | OrderId | SubtractDate |
- +---------+---------------------+
- | 1 | 2019-12-15 11:33:10 |
- +---------+---------------------+
- 1 row in set (0.01 sec)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。