急问 随便哪个月中周六和周日,是那几个日期?
谢谢

解决方案 »

  1.   

    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
      

  2.   

    改下:
    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)
      

  3.   

    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 相差天数
      

  4.   

    新建的SQL群 19078538 欢迎大家加入,共同研究,一起进步!