时间差函数TIMESTAMPDIFF、DATEDIFF的用法
我们在写sql语句,尤其是存储过程中,会频繁用到对于日期、时间的比较和判断,那么对于这两个时间差比较函数用法做一个举例介绍。
datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。
-- 相差2天
select datediff('2018-03-22 09:00:00', '2018-03-20 07:00:00');
TIMESTAMPDIFF函数,有参数设置,可以精确到天(
DAY
)、小时(
HOUR
),分钟(
MINUTE
)和秒(SECOND),使用起来比
datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。
--相差1天
select TIMESTAMPDIFF(DAY, '
2018-03-20 23:59:00
', '
2015-03-22 00:00:00
');
--相差49小时
select TIMESTAMPDIFF(HOUR, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
--相差2940分钟
select TIMESTAMPDIFF(MINUTE, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
--相差176400秒
select TIMESTAMPDIFF(SECOND, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
在存储过程中的写法:
注意:var_committime是前面业务中获取到需要比较的时间。
-- 获取当前时间
SET var_current_time = CONCAT(CURDATE(),' ',CURTIME());
-- 时间比较
SET var_time_diff = TIMESTAMPDIFF(MINUTE, var_committime, var_current_time);
-- 判断未审核的合同是否超过48小时未处理,如果超过则进行后续逻辑处理,否则不处理。
IF (var_time_diff > 2880) THEN
-- 相关业务逻辑处理
END IF;
MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法时间差函数TIMESTAMPDIFF、DATEDIFF的用法我们在写sql语句,尤其是存储过程中,会频繁用到对于日期、时间的比较和判断,那么对于这两个时间差比较函数用法做一个举例介绍。datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。-- 相差2天select datediff('2018-03-22 09:...
sql求
时间差
(XX天XX时XX分XX秒)
select dbo.f_second_Time(
datediff
(ss,'2009-5-21 10:10:26','2009-7-22 10:19:06'))
--62天00:08:40
计算两个
时间
之间的差值1.
datediff
()计算date差值2.time
diff
()计算时分秒差值3.
timestamp
diff
()计算指定维度的
时间差
值
1.
datediff
()计算date差值
语法:
datediff
(end_time,start_time),返回end_time-start_time的日期差值
select
datediff
('2020-01-04 22:11:12','2020-01-02 23:11:12') from dual
返回值:2
2.time
diff
()计算时分秒差
一、
时间差
函数
:
timestamp
diff
语法:
timestamp
diff
(interval, datetime1,datetime2)
结果:返回(
时间
2-
时间
1)的
时间差
,结果单位由interval参数给出。
frac_second 毫秒(低版本不支持,用second,再除于10...
我要做一个30分钟未付款自动取消订单的需求,这个时候我需要判断订单创建
时间
与当前
时间差
距是否大于30,so
用到了sql语句中的
TIMESTAMP
DIFF
(单位,开始
时间
,结束
时间
)
函数
其中单位可以为:
1、YEAR 年
2、QUARTER 季度
3、MONTH 月
4、WEEk 星期
5、DAY 天
6、HOUR 小时
7、MINUTE 分钟
8、SECOND 秒
9、FRAC_SECOND 毫秒
案例一:计算
时间差
几分钟:
SELECT
TIMESTAMP
DIFF
(
MINUTE
MySql
计算两个日期的
时间差
函数
TIMESTAMP
DIFF
用法
:
TIMESTAMP
DIFF
(interval,datetime_expr1,datetime_expr2)
说明:返回结果 datetime_expr2-datetime_expr1
返回日期或日期
时间
表达式datetime_expr1 和da..
mysql
中计算两个日期的
时间差
函数
TIMESTAMP
DIFF
用法
:
TIMESTAMP
DIFF
(interval,datetime_expr1,datetime_expr2)
返回日期或日期
时间
表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。interval 的法定值同TIMESTA
介绍两个计算
时间差
的
函数
时间差
函数
:
TIMESTAMP
DIF() 和
DATEDIFF
()的
用法
1.
TIMESTAMP
DIFF
(
时间
单位,date1,date2)
有
时间
单位参数设置,其中
时间
单位可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),比
datediff
()
函数
更加灵活。
例如:以小时为单位计算两个日期相差几小时
-- 以小时为单位计算两个日期相差几小时的SQL 其他的更换单位和日期即可
SELECT TI
使用
TIMESTAMP
DIFF
函数
与直接使用两个字段进行作差的区别
比如用end_time−start_timeend\_time - start\_timeend_time−start_time,那么两个
时间戳
的
时间差
的进制会是按照100的。比如相差1分钟,但查询出来的是却是100。
但是用
TIMESTAMP
DIFF
(second,start_time,end_time)
TIMESTAMP
DIFF
(second, start\_time, end\_time)
TIMESTAMP
DIFF
(second,s