请问一个查询跨年度天数的sql语句
请教一个查询跨年度天数的sql语句
table表里有三个日期字段,一个签约日期qyrq,一个播出开始日期ksrq,一个播出结束日期jsrq。
现在想查询这个播出日期段在 签约日期年度共有多少天,跨年度有多少天
如签约日期是2014.12.01 播出开始日期是:2014-12-10,结束日期是:2015-01-05
那么签约年度应该是 21天,跨年度应该是5天
请教下高手这个SQL该怎么写,谢谢
------解决思路----------------------
table表里有三个日期字段,一个签约日期qyrq,一个播出开始日期ksrq,一个播出结束日期jsrq。
现在想查询这个播出日期段在 签约日期年度共有多少天,跨年度有多少天
如签约日期是2014.12.01 播出开始日期是:2014-12-10,结束日期是:2015-01-05
那么签约年度应该是 21天,跨年度应该是5天
请教下高手这个SQL该怎么写,谢谢
------解决思路----------------------
SELECT *那就这样
,DATEDIFF(DAY,ksrq,CASE WHEN ksrq>ldrq THEN ksrq WHEN jsrq<ldrq THEN jsrq ELSE ldrq END)[签约年度]
,DATEDIFF(DAY,CASE WHEN ksrq>ldrq THEN ksrq WHEN jsrq<ldrq THEN jsrq ELSE ldrq END,jsrq)[跨年度]
FROM(SELECT *,CAST(YEAR(qyrq) AS VARCHAR(10))+'-12-31'ldrq FROM TB)TB1