declare @year varchar(4)
declare @month varchar(2)
set @year = '2006'
set @month = '5'
以上为变量在C#中以nyear nmonth表示select (datepart(dd,dateadd(dd,-1,(@year + '-' + convert(varchar(2),convert(int,@month) +1) + '-01')))) days

解决方案 »

  1.   

    string str = "select (datepart(dd,dateadd(dd,-1,(" + nyear + " + '-' + convert(varchar(2),convert(int," + nmonth + ") +1) + '-01')))) days"
      

  2.   

    string str = "select (datepart(dd,dateadd(dd,-1,(" + nyear + " + '-' + convert(varchar(2),convert(int," + nmonth + ") +1) + '-01')))) days";
      

  3.   

    string str = "select (datepart(dd,dateadd(dd,-1,(" + nyear + " + '-' + convert(varchar(2),convert(int," + nmonth + ") +1) + '-01')))) days"
      

  4.   

    以上仅不行啊,我在MSSQL里运行的结果跟以上运行的结果不一样.
      

  5.   

    经过测试以下可以:
    string strSQL = "select (datepart(dd,dateadd(dd,-1,('" + nyear + "-' + convert(varchar(2),convert(int," + nmonth + ") +1) + '-01')))) days";