這樣也不行,誰幫幫我????select * from tabl_file where modtime=to_date(filetime,'yyyy/mm/dd 上午 hh24;mi;ss');

解决方案 »

  1.   

    CONVERT(datetime, yourdatetime, 'yyyy/mm/dd')
    CONVERT(varchar(20), yourvalue)
      

  2.   

    ssql:='select * from tab_file where 
    to_char(modtime,'yyyy-mm-dd')= filetime
      

  3.   

    注意冒号,否则你的SQL永远是错误的:
    sSQL:='select * from table where to_char(modtime,''yyyy/mm/dd hh24:mi:ss'')='''+filetime+'''';
      

  4.   

    數據庫中modtime字段的值是'06-五月-2002 11:00:30 AM'
    string型變量filetime的值是'2002/5/6 上午 11:00:30'下面sql語句錯在那兒??
      
    select * from tab_file where to_char(modtime,'yyyy/m/d 上午 hh:mi:ss')='2002/5/6 上午 11:00:30'ORA-01821: 日期格式無法辨識
      

  5.   

    問題解決了. 給分
    我的體會; 
       不要用to_date(),to_char()函數,這兩個函數只用於下列情況;
       select to_date(字段) .....from  ;
       insert 字段  values(  to_date(),.....)往數據庫里插日期時用  FormatDatetime('yyyy/mm/dd hh:nn:sss',  );
    取出日期時用ASDateTime轉化為數字
    比較時再逆用 FormatDatetime('yyyy/mm/dd hh:nn:sss',  ); 
    就不會出錯了..