mysql 中两个日期的总天数
Total days from two dates in mysql
对于请假申请,FROM date 和 TO date 是通过从日历中选择日期给出的。我有这两个日期 mysql.I 想计算休假天数。因此,从 7 月 1 日到 7 月 5 日申请休假的人。所以总共5天。
但是当我使用 DateDiff(to, date) 时它给出 4。
我怎样才能得到 5 天?
select datediff('2015-07-05','2015-07-01');
DATEDIFF(expr1,expr2)
DATEDIFF() returns expr1 − expr2 表示为从一个日期到另一个日期的天数。 expr1 和 expr2 是日期或日期和时间表达式。计算中仅使用值的日期部分。
例子
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
output : 1
或
SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31');
Output : 31
可以添加手动加1
您可以简单地执行 +1
,正如您已经注意到的,DATEDIFF
不包括开始日期,请参见下面的示例:
select (datediff('2015-07-05','2015-07-01') + 1) as days
如果您仔细查看 datediff 函数,
当您使用两个相同的日期时,它会给您 0 天的差异,而不是 1 天。
select datediff('2015-07-01','2015-07-01');
会给你0天。
所以很明显你会少一天,因为它从同一日期的 0 差异开始。
datediff
将 return 两个日期之间的差异,但是您需要在计算叶数时包括这两个日期。你应该使用 value returned from datediff
+ 1.
对于请假申请,FROM date 和 TO date 是通过从日历中选择日期给出的。我有这两个日期 mysql.I 想计算休假天数。因此,从 7 月 1 日到 7 月 5 日申请休假的人。所以总共5天。 但是当我使用 DateDiff(to, date) 时它给出 4。 我怎样才能得到 5 天?
select datediff('2015-07-05','2015-07-01');
DATEDIFF(expr1,expr2)
DATEDIFF() returns expr1 − expr2 表示为从一个日期到另一个日期的天数。 expr1 和 expr2 是日期或日期和时间表达式。计算中仅使用值的日期部分。
例子
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
output : 1
或
SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31');
Output : 31
可以添加手动加1
您可以简单地执行 +1
,正如您已经注意到的,DATEDIFF
不包括开始日期,请参见下面的示例:
select (datediff('2015-07-05','2015-07-01') + 1) as days
如果您仔细查看 datediff 函数,
当您使用两个相同的日期时,它会给您 0 天的差异,而不是 1 天。
select datediff('2015-07-01','2015-07-01');
会给你0天。
所以很明显你会少一天,因为它从同一日期的 0 差异开始。
datediff
将 return 两个日期之间的差异,但是您需要在计算叶数时包括这两个日期。你应该使用 value returned from datediff
+ 1.