|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。
--************
--在两个日期局限里所超过那几周前往如:1,2表是第一周和第二周,
declare@aatable(datedatetime,weekdaysint)
declare@iint
set@i=datediff(day,@bdate,@edate)
while(@i>=0)
begin
insert@aa
values(dateadd(day,@i,@bdate),datepart(week,dateadd(day,@i,@bdate)))
set@i=@i-1
end
selectweekdays
into#week
from@AAgroupbyweekdays
--************
--在日期局限里减往周6、周日的天数
createfunctiona(@Sdatedatetime,@Edatedatetime)
returnsint
as
begin
declare@aatable(datedatetime)
declare@iint
set@i=datediff(day,@Sdate,@Edate)
while(@i>=0)
begin
insert@aa
values(dateadd(day,@i,@Sdate))
set@i=@i-1
end
select@i=count(*)from@aawheredatepart(weekday,date)notin(1,7)
return@i
end
--如:selectdbo.A(2004-10-01,2004-10-11)
--前往了局为7
--***********
--输出第几周失掉此周的入手下手、停止日期
declare@FirstDayOfYeardatetime--年^
declare@FirstDayWeekOfYeardatetime--第一周的第一天
declare@BDatedatetime
declare@EDatedatetime
select@FirstDayOfYear=dateadd(yy,datediff(yy,0,getdate()),0)
select@FirstDayWeekOfYear=@FirstDayOfYear-datepart(dw,@FirstDayOfYear)+1
select@EDate=dateadd(ww,@week,@FirstDayWeekOfYear-1)
select@BDate=dateadd(ww,-1,dateadd(dd,1,@EDate))
SET@BDate=convert(datetime,convert(char(10),@BDate,101))
SET@EDate=convert(datetime,convert(char(10),@EDate,101))
我们分析上面的两个操作,都有一个“删除数据”的过程。 |
|