SELECT '2022-11-10 16:30:00',DATE_FORMAT(date_add('2022-11-10 19:30:00',INTERVAL
-TIMESTAMPDIFF(SECOND,'2022-11-10 12:00:00','2022-11-10 18:30:00') * 0.3333333333333333
SECOND ),'%Y-%m-%d %H:%i');
SQL分析:
一、DATE_ADD()函数
1、定义:函数向日期添加指定的时间间隔。
2、语法:DATE_ADD(date,INTERVAL expr type)
date参数是合法的日期表达式。INTERVAL 是个关键字表示间隔,expr参数是设置的时间间隔数值。
expr为负数是减,正数是加。
二、 TIMESTAMPDIFF 时间差函数
语法: TIMESTAMPDIFF (unit,begin,end)
unit是单位, begin和end可以为DATE或DATETIME类型。
-TIMESTAMPDIFF(SECOND,'2022-11-10 12:00:00','2022-11-10 18:30:00') * 0.3333333333333333
SECOND )
- 上面sql里的写法意思是 (开始时间) 与 (结束时间的三分之一 的时间) 差多少秒,乘0.3333333333333333就是计算三分之一时间
- 最后在用负数表示减法,在DATE_ADD函数的时间值来减去TIMESTAMPDIFF计算后的时间