select * from test t where to_char(sta,'yyyy-mm-dd') = to_char('2010-07-14','yyyy-mm-dd'),
本人刚刚接触oracle,对函数不是太熟悉,这个语句执行后报错ORA-1722:无效数字。
请各位高手指点下这句该怎么写

解决方案 »

  1.   


    to_char()是转换成char类型,你后面的本来就是char类型,不用在转换了。 
    select * from test t where to_char(sta,'yyyy-mm-dd') = '2010-07-14';sta 应该是date类型的吧.
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
    DBA3 群:63306533;     聊天 群:40132017
      

  2.   

    select * from test t where to_char(sta,'yyyy-mm-dd') = '2010-07-14';
      

  3.   

    1.
    select * from test t where to_char(sta,'yyyy-mm-dd') ='2010-07-14'
    2.
    select * from test t where substr(sta,1,10) ='2010-07-14'
      

  4.   

    select * from test t where to_date(sta,'yyyy-mm-dd') = to_date('2010-07-14','yyyy-mm-dd');