USE [DB] GO /****** Object: UserDefinedFunction [dbo].[Func_DateFormat] Script Date: 03/31/2014 18:08:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER function [dbo].[Func_DateFormat] (@Date datetime, @Format varchar(50)) returns varchar(11) as begin declare @Month varchar(3) declare @MonthInt int declare @Day int declare @Year int set @MonthInt=datepart(mm,@Date) set @Day=datepart(dd,@Date) set @Year=datepart(yy,@Date) set @Month= case @MonthInt when 1 then 'Jan' when 2 then 'Feb' when 3 then 'Mar' when 4 then 'Apr' when 5 then 'May' when 6 then 'Jun' when 7 then 'Jul' when 8 then 'Aug' when 9 then 'Sep' when 10 then 'Oct' when 11 then 'Nov' when 12 then 'Dec' end if(Upper(@Format)='MMM YYYY') begin return @Month+' '+ltrim(@Year) end if(Upper(@Format)='DD/MMM/YYYY') begin return right(('0'+ltrim(@Day)),2)+'/'+@Month+'/'+ltrim(@Year) end if(Upper(@Format)='DD MMM YYYY') begin return right(('0'+ltrim(@Day)),2)+' '+@Month+' '+ltrim(@Year) end if(Upper(@Format)='MMM/YYYY') begin return @Month+'/'+ltrim(@Year) end return convert(varchar(20), @Date, 25) end