SQL Server Function to return half year number of days.
This function returns an integer of the number of days in the half year.
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[util].[uf_GetHalfYearDays]')
AND type IN (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [util].[uf_GetHalfYearDays]
GO
CREATE FUNCTION [util].[uf_GetHalfYearDays](
@date DATETIME
)
RETURNS INTEGER
WITH EXECUTE AS CALLER
AS
/**********************************************************************************************************
* UDF Name:
* [util].[uf_GetHalfYearDays]
* Parameters:
* @date datetime - The date to convert
* Purpose: This function returns an integer of the number of days in the half year.
*
* Example:
select [util].[uf_GetHalfYearDays](GETDATE())
*
* Revision Date/Time:
* August 1, 2007
*
**********************************************************************************************************/
BEGIN
-- declare variables
DECLARE @result integer;
DECLARE @month integer;
DECLARE @halfdate DATETIME;
-- determine half year date
SET @halfdate = CAST(CAST(((((MONTH(@date) - 1) / 6) * 6) + 1) AS VARCHAR) + '-1-' + CAST(YEAR(@date) AS VARCHAR) AS DATETIME);
-- calculate days
SET @result = DATEDIFF(DAY,@halfdate,@date);
-- return results.
RETURN @result;
END;
GO
SELECT [util].[uf_GetHalfYearDays](GETDATE());
GO
Technorati Tags:
SQL
,
SQL SERVER
,
Microsoft SQL Server
,
Function
,
Data Warehouse
,
Data Mining
,
Date Function
,
DateTime Function
Comments
- Anonymous
December 29, 2007
PingBack from http://msdn.blogsforu.com/2007/09/24/sql-server-function-to-return-half-year-number-of-days/