USE [DataBaseName]
GO
/****** Object: UserDefinedFunction [dbo].[GetBeginEndDate] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function [dbo].[GetBeginEndDate](@date varchar(20))
returns varchar(100)
as
begin
declare @temp datetime
declare @beginDate datetime
declare @count int
declare @endDate datetime
declare @beginEndDate varchar(200)
begin
set @count=datepart(dw,@date)
begin
set @temp=DATEADD(dd,8-@count,@date)
select @endDate= CONVERT(varchar(100),@temp,23)+' 23:59:59'
set @temp=DATEADD(dd,2-@count,@date)
select @beginDate= CONVERT(varchar(100),@temp,23)+' 00:00:00'
end
set @beginEndDate=CONVERT(varchar(100), @beginDate, 23)+'~'+CONVERT(varchar(100), @endDate, 23)
end
return @beginEndDate
end
如:执行 select [dbo].[GetBeginEndDate](GETDATE())
输出 : 2015-04-27~2015-05-03