表结构如下:
name  DateTime
 a    2005-01-25 00:00:00
 b    2005-01-29 00:00:00
 c    2005-01-11 00:00:00取出DateTime本周的记录,怎么取哦?
或者在C#里取,?????

解决方案 »

  1.   

    select * from tablename where DATENAME(ww, getdate())=DATENAME(ww, DateTime)
      

  2.   

    先取本周时间
    function quickseldate(PropertyName1,PropertyName2,type)
    {
    var begintime,endtime;
    var oneminute = 60*1000;
    var onehour   = 60*oneminute;
    var oneday    = 24*onehour;
    var oneweek   = 7*oneday;

    var todayDate = new Date();
    var date = todayDate.getDate();
    var month= todayDate.getMonth() +1;
    var year= todayDate.getYear();
    var day = todayDate.getDay();

    if(type=="day")
    {
    begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString()) ;
    endtime = begintime;
    }
    else if(type=="week")
    {
    var daytoMon = day-1;
    if(day==0) 
    daytoMon = 6;

    todayDate.setTime(todayDate.getTime()-daytoMon*oneday);
    date = todayDate.getDate();
    month= todayDate.getMonth() +1;
    year= todayDate.getYear();
    day = todayDate.getDay();

    begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString()) ;

    todayDate.setTime(todayDate.getTime()+6*oneday);

    date = todayDate.getDate();
    month= todayDate.getMonth() +1;
    year= todayDate.getYear();

    endtime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString()) ;
    }
    else if(type=="month")
    {
    var dateto1 = date-1;

    todayDate.setTime(todayDate.getTime()-dateto1*oneday);
    date = todayDate.getDate();
    month= todayDate.getMonth() +1;
    year= todayDate.getYear();
    day = todayDate.getDay();

    begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString()) ;

    todayDate.setMonth(month);
    todayDate.setTime(todayDate.getTime()-oneday);

    date = todayDate.getDate();
    month= todayDate.getMonth() +1;
    year= todayDate.getYear();

    endtime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString()) ; } //document.getElementById("tbbegintime").value = begintime;
    //document.getElementById("tbendtime").value = endtime;

    if(begintime != null && endtime != null)
    {
    document.all.item(PropertyName1).value = begintime;
    document.all.item(PropertyName2).value = endtime;
    }
    }
    再写SQL语句参考一下吧
    >= '" +
    dtPostBeginTime.ToString("u").Substring(0,10).Trim() +
    "' AND T_Posts.Post_Date <='" +
    dtPostEndTime.ToString("u").Substring(0,10).Trim() + "')
      

  3.   

    select * from tablename where datetime>WeekStat and datetime<WeekEnd
    注意时间的开始和结束的区别
      

  4.   

    select * from tablename where (DateDiff(week,datafield,GetDate())=0)
      

  5.   

    我以前写的一个区本周访问量的程序段:
    //本周
    switch (DateTime.Now.DayOfWeek.ToString().Trim())
    {
    case "Monday":cm.CommandText = "Select count(*) from AccessRecord "+
          "where Created > CONVERT(char(12),GetDate(),102)  ";
              break;
    case "Tuesday":cm.CommandText = "select count(*)  from AccessRecord "+
        "where Created > DateAdd(day,-1,CONVERT(char(12),GetDate(),102)) ";
      break;
    case "Wednesday": cm.CommandText = "select count(*)  from AccessRecord "+
    "where Created > DateAdd(day,-2,CONVERT(char(12),GetDate(),102)) ";
              break;
    case "Thursday": cm.CommandText = "select count(*)  from AccessRecord "+
    "where Created > DateAdd(day,-3,CONVERT(char(12),GetDate(),102)) ";
              break;
    case "Friday": cm.CommandText = "select count(*)  from AccessRecord "+
    "where Created > DateAdd(day,-4,CONVERT(char(12),GetDate(),102)) ";
              break;
    case "Saturday": cm.CommandText = "select count(*)  from AccessRecord "+
    "where Created > DateAdd(day,-5,CONVERT(char(12),GetDate(),102)) ";
              break;
    case "Sunday": cm.CommandText = "select count(*)  from AccessRecord "+
    "where Created > DateAdd(day,-6,CONVERT(char(12),GetDate(),102)) ";
              break;
    }