MySQL 关于日期的学习笔记

103 阅读2分钟

学习笔记

  1. 返回从0000年到现在的天数
to_days("2015-01-04")

2. 将时间/日期间隔添加到日期

adddate("2015-01-03",INTERVAL 1 day) #2015-01-04

3. TIMESTAMPDIFF

#计算相差天数:
select TIMESTAMPDIFF(DAY,'2019-05-20', '2019-05-21'); # 1

#计算相差小时数:
select TIMESTAMPDIFF(HOUR, '2015-03-22 07:00:00', '2015-03-22 18:00:00'); # 11

#计算相差秒数:
select TIMESTAMPDIFF(SECOND, '2015-03-22 07:00:00', '2015-03-22 7:01:01'); # 61

4. 返回值是相差的天数

DATEDIFF('2007-12-31','2007-12-30');   # 1
DATEDIFF('2010-12-30','2010-12-31');   # -1

5. 从日期减去指定的时间间隔

DATE_SUB("2008-12-29",INTERVAL 2 DAY) #2008-12-27

6. interval

"2015-01-03"+interval'1' day #2015-01-04

7、datediff

datediff(日期1, 日期2):
得到的结果是日期1与日期2相差的天数。
如果日期1比日期2大,结果为正;如果日期1比日期2小,结果为负。

8、timestampdiff

timestampdiff(时间类型, 日期1, 日期2)
这个函数和上面diffdate的正、负号规则刚好相反。
日期1大于日期2,结果为负,日期1小于日期2,结果为正。
在“时间类型”的参数位置,通过添加“day”, “hour”, “second”等关键词,来规定计算天数差、小时数差、还是分钟数差

9、日期格式化,取年月日等相关操作

#时间格式化为 “YYYY-MM-DD”
SELECT date_format( createTime,'%Y-%m-%d') AS createTime FROM TABLE

date_format()函数其他格式[参考链接](MySQL 日期格式化,取年月日等相关操作 - 代码猫 - 博客园 (cnblogs.com))