DAYSNL
Updated 2023-10-06 23:49:08.500000
Syntax
SELECT [wctFinancial].[wct[DAYSNL] (
<@StartDate, datetime,>
,<@EndDate, datetime,>)
Description
Use the scalar function DAYSNL to calculate the number of days from a start date (inclusive) to an end date (exclusive) excluding all occurrences of Feb-29.
Arguments
@EndDate
the end date for the calculation. @EndDate is an expression of type datetime or of a type that can be implicitly converted to datetime.
@StartDate
the start date for the calculation. @StartDate is an expression of type datetime or of a type that can be implicitly converted to datetime.
Return Type
int
Remarks
@StartDate cannot be NULL.
@EndDate cannot be NULL.
Examples
This example shows DAYSNL calculation as well as showing the actual number of days between the start date and the end date.
SELECT *,
wct.DAYSNL([Start Date], [End Date]) as DAYSNL,
DATEDIFF(d, [Start Date], [End Date]) as Actual
FROM
(
SELECT '2007-01-15',
'2007-01-30'
UNION ALL
SELECT '2007-01-15',
'2007-02-15'
UNION ALL
SELECT '2007-01-15',
'2007-07-15'
UNION ALL
SELECT '2007-09-30',
'2008-03-31'
UNION ALL
SELECT '2007-09-30',
'2007-10-31'
UNION ALL
SELECT '2007-09-30',
'2008-09-30'
UNION ALL
SELECT '2007-01-15',
'2011-01-31'
UNION ALL
SELECT '2007-01-31',
'2011-02-28'
UNION ALL
SELECT '2007-02-28',
'2011-03-31'
UNION ALL
SELECT '2006-08-31',
'2011-02-28'
UNION ALL
SELECT '2007-02-28',
'2011-08-31'
UNION ALL
SELECT '2007-02-14',
'2011-02-28'
UNION ALL
SELECT '2007-02-26',
'2012-02-29'
UNION ALL
SELECT '2008-02-29',
'2013-02-28'
UNION ALL
SELECT '2008-02-29',
'2012-03-30'
UNION ALL
SELECT '2008-02-29',
'2012-03-31'
UNION ALL
SELECT '2007-02-28',
'2011-03-05'
UNION ALL
SELECT '2007-10-31',
'2011-11-28'
UNION ALL
SELECT '2007-08-31',
'2012-02-29'
UNION ALL
SELECT '2008-02-29',
'2012-08-31'
UNION ALL
SELECT '2008-08-31',
'2012-02-28'
UNION ALL
SELECT '2009-02-28',
'2012-08-31'
) n([Start Date], [End Date]);
This produces the following result.
{"columns":[{"field":"Start Date","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"End Date","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"DAYSNL","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"Actual","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Start Date":"2007-01-15","End Date":"2007-01-30","DAYSNL":"15","Actual":"15"},{"Start Date":"2007-01-15","End Date":"2007-02-15","DAYSNL":"31","Actual":"31"},{"Start Date":"2007-01-15","End Date":"2007-07-15","DAYSNL":"181","Actual":"181"},{"Start Date":"2007-09-30","End Date":"2008-03-31","DAYSNL":"182","Actual":"183"},{"Start Date":"2007-09-30","End Date":"2007-10-31","DAYSNL":"31","Actual":"31"},{"Start Date":"2007-09-30","End Date":"2008-09-30","DAYSNL":"365","Actual":"366"},{"Start Date":"2007-01-15","End Date":"2011-01-31","DAYSNL":"1476","Actual":"1477"},{"Start Date":"2007-01-31","End Date":"2011-02-28","DAYSNL":"1488","Actual":"1489"},{"Start Date":"2007-02-28","End Date":"2011-03-31","DAYSNL":"1491","Actual":"1492"},{"Start Date":"2006-08-31","End Date":"2011-02-28","DAYSNL":"1641","Actual":"1642"},{"Start Date":"2007-02-28","End Date":"2011-08-31","DAYSNL":"1644","Actual":"1645"},{"Start Date":"2007-02-14","End Date":"2011-02-28","DAYSNL":"1474","Actual":"1475"},{"Start Date":"2007-02-26","End Date":"2012-02-29","DAYSNL":"1827","Actual":"1829"},{"Start Date":"2008-02-29","End Date":"2013-02-28","DAYSNL":"1824","Actual":"1826"},{"Start Date":"2008-02-29","End Date":"2012-03-30","DAYSNL":"1489","Actual":"1491"},{"Start Date":"2008-02-29","End Date":"2012-03-31","DAYSNL":"1490","Actual":"1492"},{"Start Date":"2007-02-28","End Date":"2011-03-05","DAYSNL":"1465","Actual":"1466"},{"Start Date":"2007-10-31","End Date":"2011-11-28","DAYSNL":"1488","Actual":"1489"},{"Start Date":"2007-08-31","End Date":"2012-02-29","DAYSNL":"1641","Actual":"1643"},{"Start Date":"2008-02-29","End Date":"2012-08-31","DAYSNL":"1643","Actual":"1645"},{"Start Date":"2008-08-31","End Date":"2012-02-28","DAYSNL":"1276","Actual":"1276"},{"Start Date":"2009-02-28","End Date":"2012-08-31","DAYSNL":"1279","Actual":"1280"}]}