首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

MySQL DATEDIFF函数:获取两个日期之间的时间间隔

2023-11-14 来源:华拓网

http://c.biancheng.net/mysql/datediff.html

MySQL 中 DATEDIFF(date1,date2) 返回起始时间 date1 和结束时间 date2 之间的天数。date1 和 date2 为日期或 date-and-time 表达式。计算时只用到这些值的日期部分。【实例】使用 DATEDIFF() 函数计算两个日期之间的间隔天数,输入的 SQL 语句和执行结果如下所示。

mysql> SELECT DATEDIFF(‘2017-11-30‘,‘2017-11-29‘) AS COL1, -> DATEDIFF(‘2017-11-30‘,‘2017-12-15‘) AS col2;+------+------+| COL1 | col2 |+------+------+| 1 | -15 |+------+------+1 row in set (0.00 sec)

由运行结果可知,DATEDIFF() 函数返回 date1-date2 后的值,因此 DATEDIFF(‘2017-11-30‘,‘2017-11-29‘) 的返回值为 1,DATEDIFF(‘2017-11-30 23:59:59‘,‘2017-12-15‘) 的返回值为 -15。

MySQL DATEDIFF函数:获取两个日期之间的时间间隔

标签:get   ted   inf   and   因此   结束时间   表达   date   函数返回   

小编还为您整理了以下内容,可能对您也有帮助:

datediff函数用法!

1、datediff函数语法用法:

表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])

允许数据类型: timeinterval 表示相隔时间的类型,代码为:年份 yy、yyyy 季度 qq、q;月份 mm、m;每年的某一日 dy、y;日期 dd、d;星期 wk、ww;工作日 dw;小时 hh;分钟 mi、n;秒 ss、s;毫秒 ms。

2、datediff函数用法示例:

<%

fromDate = #9/9/00#

toDate = #1/1/2000#

response.write "There are " & _

DateDiff("d",fromDate,toDate) & _

" days to millenium from 9/9/00."

%>

返回结果: 从9/9/00 到2000年还有 150 天。

扩展资料:

datediff函数应用范围:

1,该函数在mysql中可用

2,该函数在sybase中可用

3,该函数在在oracle中不可用!

------------------------------------------------------------

select datediff(''d'','2003-01-01','2003-01-02')返回的是1;

select datediff(''d'','2003-01-02','2003-01-01')返回的是-1;

可见datediff返回的是date2和date1之间在给定参数timeinterval下的差值。

注:

在sql2000下测试 "h"时是错误的,应该是 hh,例如:

select datediff(hh,'2003-01-01','2003-01-02') 返回的是24。

参考资料:百度百科-DateDiff()

mysql两个日期计算天数

TO_DAYS(date字段1) - TO_DAYS(date字段2)

1、利用TO_DAYS函数

select to_days(now()) - to_days('19930908')

2、利用DATEDIFF函数

select datediff(now(),'19930908')

参数1 - 参数2 等于间隔天数

在 MySQL 中创建表时,对照上面的表格,选择到合适自己的数据类型。选择datetime 还是 timestamp会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。

扩展资料:

在ORDER BY操作中,MySQL 只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快 ORDER BY 方面也没什么作用)。

如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如 “0/1” 或 “Y/N” 等值,就没有必要为它创建一个索引。

参考资料来源:百度百科-mySQL

datedif函数用于计算两个日期之间的时间是什么?

DATEDIF(Start_Date,End_Date,Unit)。

Start_Date:为一个日期,它代表时间段内的第一个日期或起始日期。

End_Date:为一个日期,它代表时间段内的最后一个日期或结束日期。

Unit:为所需信息的返回类型。

假如A1单元格写的也是一个日期,那么下面的三个公式可以计算出A1单元格的日期和编辑当天的时间差,分别是年数差,月数差,天数差。注意下面公式中的引号和逗号括号都是在英文状态下输入的。

=DATEDIF(A1,TODAY(),"Y")计算年数差

=DATEDIF(A1,TODAY(),"M")计算月数差

=DATEDIF(A1,TODAY(),"D")计算天数差

"Y" 时间段中的整年数。

"M" 时间段中的整月数。

"D" 时间段中的天数。

"MD" 起始日期与结束日期的同月间隔天数,忽略日期中的月份和年份。

"YD" 起始日期与结束日期的同年间隔天数,忽略日期中的年份。

"YM" 起始日期与结束日期的同年间隔月数,忽略日期中年份。

如何使用mysql计算两个日期之间的时间差

MySql计算两个日期时间的差函数:

第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:

[sql] view plain copy

SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13');

返回结果是104,这里比较的是两个时间的天数差;

[sql] view plain copy

SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13');

这里比较的是两个时间的月份,返回的结果是3;

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:

[sql] view plain copy

SELECT DATEDIFF('2013-01-13','2012-10-01');

返回的结果也是104。

另外其它的日期函数,

now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46

CURDATE()函数返回的是年月日信息: 如:2008-12-29

CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46

另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如

DATE(now()) 返回的是 2008-12-29

显示全文