private void monthplan(string x_material, string y_org)
        {
            string dt_monthplan_year = DateTime.Now.ToString("yyyy");//将当前的年赋值给dt_monthplan_year 
            string dt_monthplan_month = DateTime.Now.ToString("mm");//将当前的月赋值给dt_monthplan_month             OracleConnection con_monthplan = DB.CreateConnection();
            con_monthplan.Open();
            OracleCommand cmd_monthplan = new OracleCommand("select YJH_JHL from YYCGB_YJHXX where YP_BM='" + x_material + "'and DW_DM='" + y_org + "'and year(YJH_DATE)='" + +"'and month(YJH_DATE)='" + +"')", con_monthplan);
            //根据循环到的油品和单位及当前月查找出它的月计划量
            string a1 = Convert.ToString(cmd_monthplan.ExecuteScalar());//将读到的计划量赋予变量a1
            con_monthplan.Close();
        }求sql语句

解决方案 »

  1.   

    select * from t where 时间字段 between 开始时间 and 结束时间
      

  2.   


    是用当天的日期,查找出当前月的月计划string dt_monthplan_year = DateTime.Now.ToString("yyyy");//将当前的年赋值给dt_monthplan_year 
                string dt_monthplan_month = DateTime.Now.ToString("mm");//将当前的月赋值给dt_monthplan_month 
    。。
    OracleCommand cmd_monthplan = new OracleCommand("select YJH_JHL from YYCGB_YJHXX where YP_BM='" + x_material + "'and DW_DM='" + y_org + "'and year(YJH_DATE)='" + dt_monthplan_year + "'and month(YJH_DATE)='" + dt_monthplan_month + "')", con_monthplan);
      

  3.   

    比如 CONVERT(varchar(50),Time1,8) >=Time2
      

  4.   

    select * from tb where datediff(m,getdate(),字段)=0
      

  5.   

    楼上的弄倒了
    你在前面写好查询语句
    加上 where datediff(mm,存储时间的字段,getdate())=0
    这样就可以了
      

  6.   

    一个整月的时间范围:
                string dt1 = DateTime.Now.ToString("yyyy-MM") + "-1 0:00:00";
                string dt2 = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM") 
                    + "-1 23:59:59").AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss");
      

  7.   

    where datediff(mm,存储时间的字段,getdate())=0这里的0是可以设置的 查询上个月咋不可以.
      

  8.   

    你没有看清,楼上的写成这样了
    where datediff(mm,getdate(),存储时间的字段)=0
    这样你查上个月怎么查
    让等于后面写什么
    这样不符合逻辑吧