这样说吧,怎么该我的这语句有效果    ADO_Goods.Close;
    ADO_Goods.SQL.Clear;
    ADO_Goods.SQL.Text:='Delete from ASSERTS.PRODUCTINFO where CONVERT(Date,SP_CJSJ)>=:date1 and  CONVERT(Date,SP_CJSJ)<=:date2 ';
    ADO_Goods.Parameters.ParamByName('date1').Value:=DtimeP.DateTime;
    ADO_Goods.Parameters.ParamByName('date2').Value:=DtimeE.DateTime;
    ADO_Goods.ExecSQL;SP_CJSJ 是varchar2(14)记录有的是2003-4-3,有的是2003-04-6,有的是
2003-04-12 11:23:65 我也服了他们不知道他们怎么把这样的记录写到库的

解决方案 »

  1.   

    没事,照你做的就行了,不管SP_CJSJ是什么样子,2003-4-3也好,2003-04-3也好,转换后都可以变成这样的呢2003-04-03,如果没有时间,它就是00:00:00.000,有的话就是那个时间了不过建议不用参数,这样
    ADO_Goods.SQL.Text:='Delete from ASSERTS.PRODUCTINFO where CONVERT(Date,SP_CJSJ)>='''+datetimetostr(DtimeP.DateTime)+''''+' and  CONVERT(Date,SP_CJSJ)<='''+datetimetostr(DtimeE.DateTime)+'''';
      

  2.   

    CONVERT(Date,SP_CJSJ,112)
    DtimeP.DateTime
    上面的两种日期格式改为相同就行了