我使用mySql 5和IIS
我有products
,其中包含start date
字段和end date
字段。
我需要运行一个查询,该查询将用户输入的开始日期和结束日期,并输出产品在日期范围内运行的天数。
示例:
Offer1 - July 1 2011 thru July 31 2011
Query - July 1 2011 thru Sept 15 2011
结果= 31
Example:
Offer1 - July 1 2011 thru July 31 2011
Query - July 1 2011 thru July 15 2011
结果= 15
答案 0 :(得分:4)
如果您的products
有start_date
和end_date
且您的查询有qstart_date
和qend_date
,那么我们需要两天之间的天数:
GREATEST(start_date, qstart_date)
和
LEAST(end_date,qend_date)
。在MySQL中,我认为这看起来像
1 + DATEDIFF ( 'd' , GREATEST(start_date, qstart_date) , LEAST(end_date,qend_date) )
你要忽略负数,将其替换为“0”。