前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySql日期相关

MySql日期相关

作者头像
用户10325771
发布2023-03-01 18:46:38
4.6K0
发布2023-03-01 18:46:38
举报
文章被收录于专栏:java springboot docker
1 今天

select TO_DAYS(NOW())

2 年月日
代码语言:javascript
复制
select DATE_FORMAT( now(), '%Y%m%d')
select DATE(now())
3 去年
代码语言:javascript
复制
select YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
4 日期加减:date_add、date_sub,讲述date_add,则date_sub与此类似。
代码语言:javascript
复制
select date_add(now(),interval '2' day);  #后2天
select date_add(now(),interval '2' hour);
select date_add(now(),interval '2' minute);
select date_add(now(),interval '2' second);
select date_add(now(),interval '2' week);
select date_add(now(),interval '2' month);
select date_add(now(),interval '2' quarter); #季度
select date_add(now(),interval '2' year);
select date_add(now(),interval '2:10:40' hour_second); #可以一次性从时分秒分别变化
select date_add(now(),interval '-2:10:40' hour_second); #可以一次性从时分秒分别变化,负号表示减,过去的时刻

函数形式:DATE_ADD(date,INTERVAL expr type)  ——  DATE_SUB(date,INTERVAL expr type)

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

type:单位

Type 值

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

5. 日期差异函数:datediff

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

注释:只有值的日期部分参与计算。

代码语言:javascript
复制
select datediff('2020-02-20', '2020-01-30')#前面的日期减去后面的日期,返回天数
select datediff('2020-02-20', '2020-04-10')#前面的日期减去后面的日期,返回天数
select datediff('2020-02-20 08:20:30', '2020-04-10 10:54:43')s
6. timediff(该函数的结果有范围限制)与 timestampdiff —— 更强大
代码语言:javascript
复制
# timediff
select timediff('12:23:10','10:10:35') diff_time;  #时间差,时分秒,但是该函数的结果有范围限制,只从:从-838:59:59到838:59:59
select timediff('2020-02-02 12:00:00','12:00:00') as diff_time;   #前后格式不一致时,为Null 

select timediff('2020-01-01 00:00:00', '2020-04-01 00:00:00') as diff_hour;  #结果有误,因为超出限制,事实上,3个月的时间,值远比结果大,要得到正确的,可以用:timestampdiff

# 功能最多的方式可以是:timestampdiff
select timestampdiff(hour, '2020-01-01 00:00:00', '2020-04-01 00:00:00') as diff_hour; #返回的是相差的小时
select timestampdiff(day, '2020-01-01 00:00:00', '2020-02-01 00:00:00') as diff_day; #返回的是相差的天数
select timestampdiff(month, '2020-01-01 00:00:00', '2020-02-01 00:00:00') as diff_month; #返回的是相差的月份
select timestampdiff(year, '2020-01-01 00:00:00', '2020-02-01 00:00:00') as diff_year; #返回的是相差的年份
select timestampdiff(second, '2020-01-01 01:10:10', '2020-01-01 00:00:00') as diff_second; #返回的是相差的秒数
select timestampdiff(minute, '2020-01-01 01:10:10', '2020-01-01 00:00:00') as diff_minute; #返回的是相差的分钟
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-30),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 今天
  • 2 年月日
  • 3 去年
  • 4 日期加减:date_add、date_sub,讲述date_add,则date_sub与此类似。
  • 5. 日期差异函数:datediff
  • 6. timediff(该函数的结果有范围限制)与 timestampdiff —— 更强大
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档