我要在数据库里按时间搜索2009-8-5 ,但是数据库里格式是2009-08-05 ,这个用sql语句应该怎么写?试了to-date(时间字段,'yyyy-m-d'),果然报错了- -

解决方案 »

  1.   

    直接用to_date('2009-8-5','yyyy-mm-dd')
      

  2.   


    1,是to_date 不是to-date2,你的括号是中文的,不是英文的,将( 换成(吧。
      

  3.   


    --会报错,报格式不被识别!你可以:
    select sysdate from dual;
    看一下日期的格式,可以用二楼的那个操作方式就OK
      

  4.   

    不能用 yyyy-m-d因为月份有2位数的,日期也有2位数的。比如2008年12月23日,你能用yyyy-m-d来表示吗?数据库中也没有这样的格式啊。只能用yyyy-mm-dd来表示了。否则你就只有手动修改数据里的数据里,将前面的0去掉。
      

  5.   

    ORA-01821: date format not recognizedselect nameID as 编号 FROM test1 where to_date(PACKINGDT,'yyyy-m-d') like '2009-9-24%'错误指在yyyy
    直接用了我就不知道怎么用like了
      

  6.   


    select * from TRECORDINFO10 where begintime = to_date('2008-10-1 16:38:38','YYYY-MM-DD HH24:MI:SS') ;select * from TRECORDINFO10 where begintime = to_date('2008-10-1','YYYY-MM-DD') ;
      

  7.   

    问题解决,没动SQL语句,直接在程序里用c#写了toString("yyyy-MM-dd")改成长date然后才进SQl语句
    这个问题没得到好的解决,我绕过去了,多谢楼上各位,散分~