当前位置:首页 > IT技术

datediff()函数 与 timestampdiff()函数的区别 及使用。

时间:2019-09-17 02:11:06来源:IT技术作者:SEO探针小编阅读:78次「手机版」
 

timestampdiff

在操作数据库时,经常会使用到“时间范围取值、取时间差”的情况。今天就学习了一个这两个求时间差函数

1.先从名字上来区分这两个函数的区别。

    datediff() //看名字“直译”过来的意思是 《日期差异》  (胡乱翻译的不是很正确哦!)
    timestampdiff() //这个也“值译”过来 《时间戳差异》

从名字就能大概区分他们的租作用,一个比较时间戳的,一个是比较日期的。

知道了他们的具体是干什么的,那就测试一下吧。

2.测试datediff()

DATEDIFF() 函数返回两个日期之间的天数。

date1 和 date2 参数是合法的日期或日期/时间表达式。 只有值的日期部分参与计算。

假设action表中有开始活动日期,结束活动日期。查看举行3天活动有那写项目

 SELECT * from action where DATEDIFF(startDate,endDate) = 3;

测试一下mysql


 SELECT DATEDIFF('2018-05-09 08:00:00','2018-05-09') AS DiffDate;
 //结果 0 ; 表示 2018-05-09 与 2018-05-09之间没有日期差。这里是不比较时分秒的。下面验证带上时分秒有没有差别。
 SELECT DATEDIFF('2018-05-09 00:00:00','2018-05-09 23:59:59') AS DiffDate;
 //结果 0 ;
 SELECT DATEDIFF('2018-05-08 23:59:59','2018-05-09 00:00:00') AS DiffDate;
 //结果 -1;
 SELECT DATEDIFF('2018-05-09 00:00:00','2018-05-08 23:59:59') AS DiffDate;
//结果 1;

测试一下sqlserver

DATEDIFF() 函数返回两个日期之间的时间。

//语法
DATEDIFF(datepart,startdate,enddate)

startdate 和 enddate 参数是合法的日期表达式。

datepart 参数可以是下列的值:

这里写图片描述

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate
//结果 1
SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate
//结果 -1

3.测试timestampdiff()

测试一下MySQL

select timestampdiff(YEAR,"2018-01-01 15:15:16","2019-08-23 15:15:16") as timestamodiff;
//结果1。相差一年。
select timestampdiff(YEAR,"2019-08-22 15:15:19","2018-12-23 15:15:16") as timestamodiff;
//结果 -1,也是相差一年。
select timestampdiff(YEAR,"2019-08-22 15:15:19","2018-08-22 15:15:16") as timestamodiff; 
//结果0,相差不到一年

select timestampdiff(MONTH,"2018-08-22 15:15:16","2018-07-23 15:15:16") as timestamodiff;
// 结果 0 相差不到一个月
select timestampdiff(MONTH,"2018-08-22 15:15:16","2018-07-01 15:15:16") as timestamodiff;
// 结果 -1 相差一个月
select timestampdiff(MONTH,"2018-08-22 15:15:19","2018-09-23 15:15:16") as timestamodiff; 
// 结果 1 想差一个月

select timestampdiff(DAY,"2018-08-22 15:15:16","2018-08-23 15:15:16") as timestamodiff;
// 结果 1 想差一天
select timestampdiff(DAY,"2018-08-22 15:15:19","2018-08-23 15:15:16") as timestamodiff;
// 结果 0 想差不到一天
select timestampdiff(DAY,"2018-08-23 15:15:19","2018-08-22 15:15:16") as timestamodiff;
// 结果 -1 想差一天

相关阅读

高等数学--函数的单调性,曲线凹凸性及极值(五)

函数单调性 定理: 设函数f(x)在[a,b]上连续,在(a,b)内可导,如果在(a,b)内f’(x)>=0,且等号仅在有限多个点处成立,那么函数f(x)在[a,b]

file_get_contents( ) 函数,读取".php"结尾文件

今天做个微信公众平台的项目,发现使用file_get_contents( ) 函数读取“.php”结尾的函数,无论怎么样都在浏览器打印不出来,最后发了

Excel2010中If函数的使用教程步骤图

在excel中if函数是最经常用到的逻辑函数,通过它可以减少很多繁琐复杂的工作,判断单元格内容满足什么条件则对应返回相应的值。下面

【PHP】is_callable()与method_exists()函数

在很多产品应用中,我们经常能够看到以下这种用法,它用来检查一个对象里的方法是否存在。 <?phpif (method_exists($object, 'SomeMet

C语言scanf函数详细解释

此文章转载自:https://blog.csdn.net/21aspnet/article/details/174326函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(

分享到:

栏目导航

推荐阅读

热门阅读