declare @StartDate as varchar(10) declare @t table(days int identity(1,1),a varchar) insert into @t(a) select top 31 '' from sys.objectsset @StartDate='2007-07-01' select dates from (select cast(@StartDate as datetime)+days-1 dates from @t) t where datepart(dw,dates)=6 or datepart(dw,dates)=7
改下: declare @StartDate as varchar(10) declare @t table(days int identity(1,1),a varchar) insert into @t(a) select top 31 '' from sys.objectsset @StartDate='2007-07-01' select dates from (select cast(@StartDate as datetime)+days-1 dates from @t) t where (datepart(dw,dates)=6 or datepart(dw,dates)=7) and year(@StartDate)=year(dates) and month(@StartDate)=month(dates)
declare @dt datetime set @dt='2007/07/06'--datepart的用法(返回值是整数) select datepart(day,@dt) as 日期 select datepart(month,@dt) as 月份 select datepart(year,@dt) as 年度 select datepart(quarter,@dt) as 季度 select datepart(dayofyear,@dt) as 今年的第几天 select datepart(week,@dt) as 今年的第几个星期 select datepart(weekday,@dt) as 本星期的第几天_周日为1--datename的用法(返回值是字符串) select datename(day,@dt) as 日期 select datename(month,@dt) as 月份 select datename(year,@dt) as 年度 select datename(quarter,@dt) as 季度 select datename(dayofyear,@dt) as 今年的第几天 select datename(week,@dt) as 今年的第几个星期 select datename(weekday,@dt) as 星期几--dateadd的用法(返回值是日期型) select dateadd(day,10,@dt) as 当前日期加10天 select dateadd(month,10,@dt) as 当前日期加10个月 select dateadd(year,10,@dt) as 当前日期加10年 select dateadd(quarter,10,@dt) as 当前日期加10个季度 select dateadd(week,10,@dt) as 当前日期加10周 declare @dt1 datetime,@dt2 datetime set @dt1='2002/01/01' set @dt2='2007/02/02' --datediff的用法 select datediff(day,@dt1,@dt2) as 相关天数 select datediff(month,@dt1,@dt2) as 相差月数 select datediff(day,@dt1,@dt2) as 相差天数
declare @t table(days int identity(1,1),a varchar)
insert into @t(a)
select top 31 '' from sys.objectsset @StartDate='2007-07-01'
select dates from
(select cast(@StartDate as datetime)+days-1 dates from @t) t
where datepart(dw,dates)=6 or datepart(dw,dates)=7
declare @StartDate as varchar(10)
declare @t table(days int identity(1,1),a varchar)
insert into @t(a)
select top 31 '' from sys.objectsset @StartDate='2007-07-01'
select dates from
(select cast(@StartDate as datetime)+days-1 dates from @t) t
where (datepart(dw,dates)=6 or datepart(dw,dates)=7) and year(@StartDate)=year(dates) and month(@StartDate)=month(dates)
set @dt='2007/07/06'--datepart的用法(返回值是整数)
select datepart(day,@dt) as 日期
select datepart(month,@dt) as 月份
select datepart(year,@dt) as 年度
select datepart(quarter,@dt) as 季度
select datepart(dayofyear,@dt) as 今年的第几天
select datepart(week,@dt) as 今年的第几个星期
select datepart(weekday,@dt) as 本星期的第几天_周日为1--datename的用法(返回值是字符串)
select datename(day,@dt) as 日期
select datename(month,@dt) as 月份
select datename(year,@dt) as 年度
select datename(quarter,@dt) as 季度
select datename(dayofyear,@dt) as 今年的第几天
select datename(week,@dt) as 今年的第几个星期
select datename(weekday,@dt) as 星期几--dateadd的用法(返回值是日期型)
select dateadd(day,10,@dt) as 当前日期加10天
select dateadd(month,10,@dt) as 当前日期加10个月
select dateadd(year,10,@dt) as 当前日期加10年
select dateadd(quarter,10,@dt) as 当前日期加10个季度
select dateadd(week,10,@dt) as 当前日期加10周
declare @dt1 datetime,@dt2 datetime
set @dt1='2002/01/01'
set @dt2='2007/02/02'
--datediff的用法
select datediff(day,@dt1,@dt2) as 相关天数
select datediff(month,@dt1,@dt2) as 相差月数
select datediff(day,@dt1,@dt2) as 相差天数