SELECT * FROM RUKU WHERE riqi= #39 + formatdatetime('yyyy-mm-dd','2002-06-02') + #39

解决方案 »

  1.   

    oracle中是没有formatdatetime函数的。
    并且formatdatetime返回的是一个字符,不能和一个日期型比较的。   SELECT * FROM RUKU 
        WHERE to_char(riqi,'YYYYMMDD')='20020602'
      

  2.   

    query1.close;
    query1.sql.clear;
    sql.add('SELECT * FROM RUKU WHERE riqi=:da');
    query1.params[0].asdatetime:=StrtoDatetime('2002-06-02');
    query1.open;
      

  3.   

    SELECT * FROM RUKU WHERE riqi='2002-06-02'/* Access 中*/
    SELECT * FROM RUKU WHERE riqi=#2002-06-02#
      

  4.   

    不能直接在SQL语句中用formatdatetime
      

  5.   

    參考我的代碼;
    寫進數據庫;
    FieldValues['MODTIME']:=FormatDatetime('yyyy/mm/dd hh:nn:sss',Now);
    從數據庫讀;
                   ssql:=ssql+' and  modtime= '''+FormatDatetime('yyyy"/"mm"/"dd hh:nn:sss',filetime)+''' ';