mysql 日期操作函数

DATE_ADD():日期增加函数
DATE_SUB():日期减少函数

示例

添加15分钟到日期并返回日期:

1
SELECT DATE_ADD("2018-08-22 09:34:21", INTERVAL 15 MINUTE);

从日期减去10天并返回日期:

1
SELECT DATE_SUB("2018-08-22", INTERVAL 10 DAY);

定义和用法

1
2
3
4
5
6
_定义:_
DATE_ADD()函数在添加特定时间/日期间隔后返回日期。
DATE_SUB()函数在减去某个时间/日期间隔后返回一个日期。
__用法:__
DATE_ADD(date, INTERVAL value unit)
DATE_SUB(date, INTERVAL value unit)

参数值

参数 说明
date 必填,原日期
value 必填,增加/减去日期的值
unit 必填,单位类型

unit值

参数 说明
MICROSECOND 微秒
SECOND
MINUTE 分钟
HOUR 小时
DAY
WEEK
MONTH
QUARTER 季度
YEAR
SECOND_MICROSECOND 秒.微秒
MINUTE_MICROSECOND 分钟.微秒
MINUTE_SECOND 分钟.秒
HOUR_MICROSECOND 小时.微秒
HOUR_SECOND 小时.秒
HOUR_MINUTE 小时.分
DAY_MICROSECOND 天.微秒
DAY_SECOND 天.秒
DAY_MINUTE 天.分
DAY_HOUR 天.时
YEAR_MONTH 年.月
参考地址

DATE_ADD()参考地址1: https://www.w3schools.com/sql/func_mysql_date_add.asp
DATE_SUB()参考地址2: https://www.w3schools.com/sql/func_mysql_date_sub.asp

DATE_FORMAT() 函数

DATE_FORMAT():不同的格式显示日期/时间数据

示例

执行以下脚本

1
2
3
4
select DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');
select DATE_FORMAT(NOW(),'%Y-%m-%d');
select DATE_FORMAT(NOW(),'%d %b %y');
select DATE_FORMAT(NOW(),'%d %b %Y %T:%f');

结果

1
2
3
4
5
6
7
8
9
10
11
Aug 28 2018 12:53 AM
2018-08-28
28 Aug 18
28 Aug 2018 12:53:40:000000
```
### 定义和用法
``` bash
_定义:_
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
__用法:__
DATE_FORMAT(date,format)

参数值

date 参数是合法的日期。format 规定日期/时间的输出格式。

format 可用格式

格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位
参考地址

DATE_FORMAT()参考地址1: http://www.w3school.com.cn/sql/func_date_format.asp