insert into errorlog values('test', '1999-01-01', 1);

解决方案 »

  1.   

    早试过了,提示
    conversion error from string "1999-01-01"
    我的是5.6版本的。
      

  2.   

    insert into errorlog values('test', cast('1 JAN 1999' as date),1); 
      

  3.   

    成了。
    powerlee(老李飞刀)  : 能否讲解一下INTERBASE的日期是要怎么样写才能输入?
    总不能老写这样的E文东西进去吧?
      

  4.   

    你的不行吗,为什么我执行下列两句都可以呢?
    insert into errorlog values('test', cast('1999-01-01' as date), 1);
    insert into errorlog values('test', cast('1999-1-2' as date), 1);
      

  5.   

    甚至
    insert into errorlog values('test', '1999-01-03', 1);
    都可以
      

  6.   

    这个可能是与数据库中语言地区时间格式什么什么有关。不过Delphi有个通用的解决方法
    var
       dtVar:TDateTime;
    begin
       dtVar := strToDateTime('2/15/95');
       with qryQuery do begin
           sql.clear;
           sql.add('insert into errorlog values('test', :dt,1)');
           params[0].AsDateTime := dtVar;
           ExecSQL;
       end;
    end;
    更多关于这些处理请参考 formartdatetime,及 DatetimeToStr函数说明
      

  7.   

    insert into errorlog values('test', '4 JAN 1999', 1);
    insert into errorlog values('test', 'JAN 5 1999', 1);
    也都可以啊?看来IB6还是不错的。
      

  8.   

    我是用JAVA写INTERBASE啊。 :(
      

  9.   

    通过ODBC可以直接使用以下方法
    insert into errorlog values('test', '1/13/1999', 1);
      

  10.   

    insert into errorlog values('test', cast('now' as timestamp), 1);