SQL 语句
取一周的第一天:
set datefirst 1 一周以星期一为第一天
select dateadd(day,-datepart(dw,getdate())+1,getdate())
取一周的最后一天
set datefirst 1 一周以星期一为第一天
select dateadd(day,-datepart(dw,dateadd(wk,1,getdate())),dateadd(wk,1,getdate()))
创建函数
本周的第一天
-----------------------------
--取@curdate所在星期的第一天
-----------------------------
ALTER FUNCTION uf_w_firstDay(@curdate datetime)
RETURNS varchar(10) AS
BEGIN
declare @firstDay varchar(10)
select @firstDay = dateadd(day,-datepart(dw,@curdate)+1,@curdate)
return @firstDay
END
本周的最后一天
-----------------------------
--取@curdate所在星期的最后一天
-----------------------------
ALTER FUNCTION uf_w_endDay(@curdate datetime)
RETURNS varchar(10) AS
BEGIN
declare @curdate2 datetime
declare @endDay varchar(10)
select @curdate2 = dateadd(wk,1,@curdate)
select @endDay = dateadd(day,-datepart(dw,@curdate2),@curdate2)
return @endDay
END
本月的第一天
----------------------------
--取@curdate所在月份的第一天
----------------------------
ALTER FUNCTION uf_firstDay(@curdate datetime)
RETURNS varchar(10) AS
BEGIN
declare @firstDay varchar(10)
select @firstDay = LTRIM(str(year(@curdate))) +'-'+ LTRIM(str(month(@curdate))) +'-'+ '01'
return @firstDay
END
本月的最后一天
----------------------------
--取@curdate所在月份的最后一天
----------------------------
ALTER FUNCTION uf_endDay(@curdate datetime)
RETURNS varchar(10) AS
BEGIN
declare @curdate2 datetime
declare @endDay varchar(10)
select @curdate2 = dateadd(month,1,@curdate)
select @endDay = LTRIM(str(year(@curdate))) +'-'+ LTRIM(str(month(@curdate))) +'-'+ LTRIM(str(day(dateadd(day,-day(@curdate2),@curdate2))))
return @endDay
END