谁帮我写个简单的查询语句,实现查询这个月1日到下个月10日之间的记录。部分语句已经给出。
   DateTime dtTime = System.DateTime.Today;
            int Iday;
            int Imon;
            Iday = dtTime.Day;
         
           
            Imon = dtTime.Month;
         
                    string sql="SELECT * FROM PM_Product WHERE(——)"
           就是WHERE中间怎么写, fdate_creatime 字段记录了时间,格式是1999-11-11 11:11:11的长格式。

解决方案 »

  1.   


    DateTime dt1=new DateTime(DateTime.Now.Year,DateTime.Now.Month,1);
     DateTime dt2=dt1.AddMonths(1).AddDays(10);
      string sql="SELECT * FROM PM_Product WHERE fdate_creatime BETWEEN '"+dt1.ToString("yyyy-MM-dd HH:mm:ss") +"' AND '"  + dt2.ToString("yyyy-MM-dd HH:mm:ss")+"'";
      

  2.   

    DateTime dt1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
    DateTime dt2 = dt1.AddMonths(1).AddDays(10);
    string sql=string.Format("SELECT * FROM PM_Product WHERE fdate_creatime between '{0}' and '{1}'",dt1,dt2);
      

  3.   

    都可以。如果是不知道月份,可以在c#中用函数获取时间然后处理月份。也可以用sql语句获取月份再处理,当然是c#简单些。
      

  4.   

    sql里面获取时间查询的方法(datediff(mm,fdate_creatime,getdate())=0 or datepart(mm,fdate_creatime)=datepart(mm,getdate())+1 and datepart(day,fdate_creatime)<11) and datediff(yy,fdate_creatime,getdate())=0
      

  5.   

    where dt>=1日 and dt<11日
    dt between 1日 and 10日
      

  6.   

    SELECT * 
       FROM PM_Product 
    WHERE 
       fdate_creatime = (
                        BETWEEN 
                            DATE_SUB(GETDATE(),INTERVAL (DATEPART(dd,GETDATE()) - 1) DAY) 
                        AND 
                            DATEADD(d, 10,DATEADD(m, 1, GETDATE()))
                        )