ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL-两个日期范围之间相等的天数,SQL

2019-10-10 03:20:43  阅读:12  来源: 互联网

标签:sql mysql



我有日期范围的表,像这样:

DATE          DATE2
14.03.2013    17.03.2013
13.04.2013    02.05.2013

我必须创建一个过程,该过程返回等于两个日期范围的天数,一个在表中,另一个在其中.

例如,我在表格中有这样的日期范围,如14.03.2013-17.03.2013,而另一个在此程序中声明,如此02.03.2013-16.03.2013,因此在这种情况下,天数为3,因为两者日期范围的日期介于2013年3月14日至2013年3月16日之间.

解决方法:

假设您的表名为daterange,并且您在过程中定义了@ param1和param2参数,那么这些行上的内容应该可以工作:

set @param1 := cast('2013-03-14' as date);
set @param2 := cast('2013-03-16' as date);

select 
datediff(least(date2,@param2),@param1)+1
from daterange where @param1 between date1 and date2

参见sqlfiddle中的示例



标签:sql,mysql

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有