我的表里面有一字段记录时间(即录入该条记录的时间),我要判断一下,该时间与当前日期相差大与一个月的记录就删除。请问如何写SQL语句??用了delete from table where datediff(month,dateColumn,getdate())>1
 
运行后出错:参数不足,期待值是2
为什么?
该如何写呢?

解决方案 »

  1.   

    什么数据库!?不同的数据库处理日期的函数不一样的!
    如果实在找不到处理的函数,可以在程序中处理完之后,再通过SQL语句比较!
      

  2.   

    "delete from table where datediff('m',dateColumn,date())>1"
      

  3.   

    cuizm(射天狼) 是access ,如何在程序中处理完之后,再通过SQL语句比较??to : of123() 
    我开始用的就是你这句,但根本字体是红色的,提示‘m’有错。所以换了我那句。请各位帮忙啊
      

  4.   

    "delete from table where datediff(""m"",dateColumn,date())>1"
      

  5.   

    你的 SQL 语句不在字符串引号中吗? VB 是不检查字符串内部语法的。仔细看看你的代码。
      

  6.   

    在 access 中:of123()回答
        //"delete from table where datediff('m',dateColumn,date())>1"
    正解!!!
    注意'm'是半角单引号,dateColumn为日期字段!!
      

  7.   

    delete from [table] where datediff(month,dateColumn,getdate())>1
      

  8.   

    我代码是这样的,其中‘LiveIn’是表中字段,是日期型的,Date是当前日期,
    如果超过一个月的话就删除。DBConnection.Execute ("delete from MainStatus where (DateDiff('m', LiveIn, Date)>0)")运行到这句时老提示::参数不足,期待值是1,为什么呢》?
    错误出在哪呢??