Mysql中的时间加减

目录

DATE_ADD()

DATE_SUB()

DATEDIFF()

TIMESTAMPDIFF

TIMESTAMPADD


DATE_ADD

语法

DATE_ADD(date,INTERVAL expr type)

date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。expr可以为负数

type 参数可以是下列值:

type值描述
MICROSECOND微秒
SECOND
MINUTE
HOUR
DAY
WEEK星期
MONTH
QUARTER3个月
YEAR1年
SECOND_MICROSECOND

秒小一级单位 

2018-09-05 14:47:26 2018-09-05 14:47:25.900000

MINUTE_MICROSECOND

秒小一级单位 

2018-09-05 14:47:26 2018-09-05 14:47:25.900000

MINUTE_SECOND
HOUR_MICROSECOND

秒小一级单位 

2018-09-05 14:47:26 2018-09-05 14:47:25.900000

HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND

秒小一级单位 

2018-09-05 14:47:26 2018-09-05 14:47:25.900000

DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

 

示例:SELECT DATE_ADD(gtm_create,INTERVAL 2 DAY)  FROM user_info where id = 1;

id=1用户创建时间后两天

DATE_SUB

DATE_SUB() 函数从日期减去指定的时间间隔
语法:
DATE_SUB(date,INTERVAL expr type)

DATEDIFF

定义和用法

DATEDIFF() 函数返回两个日期之间的天数。

语法

DATEDIFF(date1,date2)

date1 和 date2 参数是合法的日期或日期/时间表达式。

TIMESTAMPDIFF

语法:

 TIMESTAMPDIFF(type,date1,date2

返回日期或日期时间表达式date1date2 之间的整数差。其结果的单位由type 参数给出同上


示例:select 
TIMESTAMPDIFF(day,gmt_create,gmt_modified) 
FROM credit_reword
where id = 6

TIMESTAMPADD

语法:

TIMESTAMPADD(type,int_expr,date1)

说明:

将整型表达式int_expr 添加到日期或日期时间表达式 date1中。type同上

示例:select 
gmt_create,
TIMESTAMPADD(day,11,gmt_create) 
FROM credit_reword
where id = 6

结果:2018-09-05 14:47:26    2018-09-16 14:47:26

参考:http://www.w3school.com.cn/sql/sql_dates.asp

MySQL中的时间函数可以用来执行日期和时间加减操作。以下是几个常用的时间函数和它们的使用方法: 1. `DATE_ADD(date, INTERVAL expr type)` 和 `DATE_SUB(date, INTERVAL expr type)`: 这两个函数用于对日期进行加减操作。`DATE_ADD` 函数是向日期添加一个时间间隔,而 `DATE_SUB` 函数则是从日期中减去一个时间间隔。 - `date` 是起始日期或时间。 - `expr` 是要加到日期上的时间间隔,或者从日期中减去的时间间隔。 - `type` 是时间间隔类型,比如 `SECOND`、`MINUTE`、`HOUR`、`DAY`、`MONTH`、`YEAR` 等。 例如: ```sql SELECT DATE_ADD('2023-01-01', INTERVAL 1 DAY); -- 加一天 SELECT DATE_SUB('2023-01-01', INTERVAL 1 MONTH); -- 减去一个月 ``` 2. `ADDDATE()` 和 `SUBDATE()`: 这两个函数分别与 `DATE_ADD()` 和 `DATE_SUB()` 功能相同,可以用于日期的加减操作。 示例: ```sql SELECT ADDDATE('2023-01-01', INTERVAL 1 YEAR); -- 加一年 SELECT SUBDATE('2023-01-01', INTERVAL 1 HOUR); -- 减去一个小时 ``` 3. `ADDTIME()` 和 `SUBTIME()`: - `ADDTIME(expr1, expr2)`:返回expr1加上expr2的时间。 - `SUBTIME(expr1, expr2)`:返回expr1减去expr2的时间。 示例: ```sql SELECT ADDTIME('2023-01-01 10:00:00', '01:01:01'); -- 时间加法 SELECT SUBTIME('2023-01-01 10:00:00', '01:01:01'); -- 时间减法 ``` 4. `TIMESTAMPADD()` 和 `TIMESTAMPDIFF()`: - `TIMESTAMPADD(type, interval, date)`:增加指定的时间间隔到一个日期或时间值。 - `TIMESTAMPDIFF(type, date1, date2)`:返回两个日期或时间值之间的时间间隔差。 示例: ```sql SELECT TIMESTAMPADD(MONTH, 1, '2023-01-01'); -- 日期加一个月 SELECT TIMESTAMPDIFF(YEAR, '2023-01-01', '2024-01-01'); -- 两个日期之间的年份差异 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游语

对你有帮助,可以请我喝杯奶哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值