Given two dates, this function returns the integer number of weeks between them. It is recommended that you use the DATEDIFF function [Date and time] instead for this purpose.
Given a single date, this function returns the number of weeks since 0000-02-29.
Given one date and an integer, it adds the integer number of weeks to the specified date. It is recommended that you use the DATEADD function [Date and time] instead for this purpose.
Syntax 1 returns an integer. Syntax 2 returns a timestamp.
WEEKS( [ datetime-expression, ] datetime-expression )
WEEKS( datetime-expression, integer-expression )
datetime-expression A date and time.
integer-expression The number of weeks to be added to the datetime-expression. If integer-expression is negative, the appropriate number of weeks is subtracted from the datetime value. If you supply an integer-expression, the datetime-expression must be explicitly cast as a datetime data type.
For information about casting data types, see CAST function [Data type conversion].
The difference of two dates in weeks is the number of Sundays between the two dates.
SQL/2003 Vendor extension.
The following statements return the value 8, signifying that the second date is eight weeks after the first. It is recommended that you use the second form (DATEDIFF).
SELECT WEEKS( '1999-07-13 06:07:12', '1999-09-13 10:07:12' ); SELECT DATEDIFF( week, '1999-07-13 06:07:12', '1999-09-13 10:07:12' );
The following statement returns the value 104270.
SELECT WEEKS( '1998-07-13 06:07:12' );
The following statements return the timestamp 1999-06-16 21:05:07.0. It is recommended that you use the second form (DATEADD).
SELECT WEEKS( CAST( '1999-05-12 21:05:07' AS TIMESTAMP ), 5); SELECT DATEADD( week, 5, '1999-05-12 21:05:07' );