22,210
社区成员
发帖
与我相关
我的任务
分享
declare @date datetime
set @date='2008-6-22'
select case when day(@date)<=10 then dateadd(d,-day(@date),@date)
when day(@date) between 11 and 20 then dateadd(d,-day(@date)+10,@date)
else dateadd(d,-day(@date)+20,@date) end
--修改下:
declare @date datetime
set @date=getdate()
select 上旬最后一天=case datepart(dd,@date)/10
when 0 then dateadd(dd,-1,convert(varchar(7),@date,120)+'-01')
when 1 then convert(varchar(7),@date,120)+'-10'
else convert(varchar(7),@date,120)+'-20' end
declare @date datetime
set @date=getdate()
select 上旬最后一天=case datepart(dd,@date)/10
when 0 then dateadd(dd,-1,convert(varchar(7),@date,120)+'-01')
when 1 then convert(varchar(7),@date,120)+'-10'
when 2 then convert(varchar(7),@date,120)+'-20' end
declare @dt datetime
set @dt='2008-01-09'
select case
when datepart(dd,@dt) between 0 and 10 then dateadd(dd,-1,convert(varchar(7),@dt,120)+'-01')
when datepart(dd,@dt) between 11 and 20 then convert(varchar(7),@dt,120)+'-10'
when datepart(dd,@dt) between 21 and 31 then convert(varchar(7),@dt,120)+'-20'
end