top 1.....
WHERE (WeekOf > @weekOf and WeekOf <=getdate())....
就可以了

解决方案 »

  1.   

    WNASP(我为人人,人人为我)  你的错误。
    如果我输入的是08年的日期呢
      

  2.   

    leaohong(无定河)  你没理解吗?我的意思是查找离今天日期最近的日期。
      

  3.   

    那就用用DateDiff,加上一个order by
      

  4.   

    oliverkahn(卡恩) 你还不如告诉我在数据库中执行呢 : (
      

  5.   

    SELECT *
    FROM Week
    WHERE id = (select top 1 id from week order by min(datediff(week,@week)) 
      

  6.   

    目的:查询条件是@weekof的日期距离今天最近的日期。数据库中日期有08年,09年,10年等等。所以不能top1  这个该怎么写呢
    比如参数是2005-06-06 查询出来的结果就是20070521
    如果是2009-09-09 那么结果就是2009-09-09
      

  7.   

    leaohong(无定河)  datediff要三个参数  你的不对呀
      

  8.   

    sorrySELECT *
    FROM Week
    WHERE id = (select top 1 id from week order by min(ABS(DATEDIFF(day,week,@week) ))
      

  9.   

    if getdate()>=@weekOf
       top 1.....
       WHERE (WeekOf > @weekOf and WeekOf <=getdate())....order by WeekOf desc
    else
       top 1.....
       WHERE (WeekOf > @weekOf ) order by WeekOf asc
      

  10.   

    leaohong(无定河) SELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week order by min(ABS(DATEDIFF(day,week,2005-05-05)))
    第 3 行: ')' 附近有语法错误。
      

  11.   

    汗,调试下不行啊SELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week order by min(ABS(DATEDIFF(day,week,2005-05-05))))
      

  12.   

    leaohong(无定河)  
    加括号了 
    SELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week order by min(ABS(DATEDIFF(day,week,2005-05-05))))
    服务器: 消息 207,级别 16,状态 3,行 1
    列名 'week' 无效。
      

  13.   

    我晕,大哥我里面的WEEK是随便写的,你改成你的字段名啊
      

  14.   

    SELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week order by min(ABS(DATEDIFF(day,weekof,2005-05-05))))
    列 'week.WeekOf' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。今天有点头疼,见凉
      

  15.   

    哦,不好意思忘记了TRY THISSELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week order by min(ABS(DATEDIFF(day,weekof,2005-05-05))) group by weekof)
      

  16.   

    汗,又错,丢人啊SELECT *
    FROM Week
    WHERE WeekOf = (select top 1 WeekOf from week group by weekof order by min(ABS(DATEDIFF(day,weekof,2005-05-05))))