MySql日期相关
2023-06-13 09:15:25 时间
1 今天
select TO_DAYS(NOW())
2 年月日
select DATE_FORMAT( now(), '%Y%m%d')
select DATE(now())
3 去年
select YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
4 日期加减:date_add、date_sub,讲述date_add,则date_sub与此类似。
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 参数是合法的日期或日期/时间表达式。
注释:只有值的日期部分参与计算。
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 —— 更强大
# 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; #返回的是相差的分钟
相关文章
- MySQL启动过程指南:一步步掌握启动语句(mysql启动语句)
- 函数MySQL中使用Date函数处理日期格式(mysql的date)
- MySQL查询:非空之道(mysql查询非空)
- 的数据MySQL查询:跨表拉取数据(mysql查询两张表)
- MySQL表:重新定义(mysql表重命名)
- 数据查询MySQL中查询指定日期数据的方法(mysql指定日期)
- MySQL高效存储二进制数据(mysql二进制数据)
- MySQL中将日期加一天的方法(mysql日期加一天)
- 搭建VS之旅:配置MySQL(vs配置mysql)
- 求MySQL中两个日期相差天数(mysql相差天数)
- MySQL 中 使用日期默认值的简单设置(mysql日期默认值)
- MySQL:如何提取日期中的年份?(mysql日期年份)
- 利用MySQL来高效计算日期天数(mysql计算天数)
- 如何使用CMD登录MySQL数据库(cmd mysql 登录)
- Mysql中如何取得日期的年、月、日(mysql 日期取年月日)
- C语言编写MySQL表备份工具实战(c mysql 表备份)
- MySQL中日期比较的方法和技巧(mysql中date比较)
- MySQL启动失败CDH遇到错误(cdh启动报错mysql)
- 从CMD控制台进入MySQL数据库(cmd指令进入mysql)
- 一键搞定MySQL表数据使用CMD快速导出(cmd mysql导出表)
- 解析MySQL数据日期数字背后的时间信息(mysql一串数字日期)