选中一个时间,就会根据时间来找到该整个星期
如我选中今天 2007-07-16
就会出现本周的数据
0716 0717 0718 0719 0720 0721 0722
用户名 MON TUE WED THU FRI SUT SUN
**** *** *** *** *** *** *** ***这个语法用SQL怎么写
where后面请根据这种语法写入,谢谢!!!
convert(datetime,convert(varchar(10),a.Uquotetime,120)) >= '?'
如我选中今天 2007-07-16
就会出现本周的数据
0716 0717 0718 0719 0720 0721 0722
用户名 MON TUE WED THU FRI SUT SUN
**** *** *** *** *** *** *** ***这个语法用SQL怎么写
where后面请根据这种语法写入,谢谢!!!
convert(datetime,convert(varchar(10),a.Uquotetime,120)) >= '?'
create function udf_getweekday(@week_date datetime)
returns varchar(20)
as
begin
declare @i int
declare @week_dayname varchar(20)
set @i=0
select @i=datepart(weekday,@week_date)
select @week_dayname=(case when @i=1 then '星期日'
when @i=2 then '星期一'
when @i=3 then '星期二'
when @i=4 then '星期三'
when @i=5 then '星期四'
when @i=6 then '星期五'
when @i=7 then '星期六'
end)
return @week_daynameend--获取指定日期的相关的所有周日create function udf_getallweekday(@input_date datetime)
returns varchar(8000)
as
begin
declare @weekday int
declare @i int
declare @temp_date datetime
declare @j int
declare @k int
declare @r varchar(8000)
declare @r1 varchar(8000)
declare @r2 varchar(8000)
declare @r3 varchar(8000)
set @weekday=0
set @i=0
set @j=0
set @k=0select @weekday=datepart(weekday,@input_date)
if @weekday=1
begin
set @i=1
set @temp_date=@input_date
while(@i<=7)
begin
if @i!=1
begin
set @temp_date=dateadd(day,1,@temp_date)
end
set @r=isnull(@r,'')+ substring(convert(varchar(20),@temp_date,120),1,10)+'/'+dbo.udf_getweekday(@temp_date)+','
set @i=@i+1
end
end
else if @weekday=7
begin
set @i=1
set @temp_date=@input_date
while(@i<=7)
begin
if @i!=1
begin
set @temp_date=dateadd(day,-1,@temp_date)
end
set @r=isnull(@r,'')+ substring(convert(varchar(20),@temp_date,120),1,10)+'/'+dbo.udf_getweekday(@temp_date)+','
set @i=@i+1
end
end
else
begin
set @r2=isnull(@r2,'')+ substring(convert(varchar(20),@input_date,120),1,10)+'/'+dbo.udf_getweekday(@input_date)+','
set @j=@weekday
set @temp_date=@input_date
while(@j<7)
begin
set @temp_date=dateadd(day,1,@temp_date)
set @r3=isnull(@r3,'')+ substring(convert(varchar(20),@temp_date,120),1,10)+'/'+dbo.udf_getweekday(@temp_date)+','
set @j=datepart(weekday,@temp_date) end set @k=@weekday
set @temp_date=@input_date
while(@k>1)
begin
set @temp_date=dateadd(day,-1,@temp_date)
set @r1=isnull(@r1,'')+ substring(convert(varchar(20),@temp_date,120),1,10)+'/'+dbo.udf_getweekday(@temp_date)+','
set @k=datepart(weekday,@temp_date) end
set @r=@r1+@r2+@r3
end
set @r=substring(@r,1,len(@r)-1)
return @r
end
select dbo.udf_getweekday('2007-07-20')select dbo.udf_getallweekday('2007-07-20')
希望对楼主有说帮助