Scalar-valued Functions [dbo].[date_part]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@componentvarchar(20)20
@fDatedatetime8
SQL Script
/****** Object:  User Defined Function dbo.date_part    Script Date: 12/1/2005 11:50:33 PM ******/

CREATE FUNCTION [dbo].[date_part](@component varchar(20) ,@fDate datetime)  
RETURNS int AS  
BEGIN
    --execute invalid_func 'date_part'
    DECLARE @ans int
    SET @ans =
         CASE
            WHEN @component IN('year' , 'years' , 'yr', 'yrs')
                THEN  DATEPART(year, @fDate)
            WHEN @component IN ('quarter' , 'quarters' , 'qtr', 'qtrs')
                THEN DATEPART(quarter, @fDate)
            WHEN @component IN ('month' ,'months' , 'mo', 'mos')
                THEN DATEPART(month, @fDate)
            WHEN @component IN ('week' , 'weeks' , 'wk', 'wks')
                THEN DATEPART(week, @fDate)
            WHEN @component IN ('day', 'days')
                THEN DATEPART(day, @fDate)
            WHEN @component IN ('hour' , 'hours', 'hr', 'hrs')
                THEN DATEPART(hour, @fDate)
            WHEN @component IN ('minute' ,'minutes' , 'min', 'mins')
                THEN DATEPART(minute, @fDate)
            WHEN @component IN ('second' , 'seconds', 'sec', 'secs')
                THEN DATEPART(second, @fDate)
            ELSE -1
            END
    RETURN @ans
END
GO
Uses