从mysql那整合过来的数据出现问题
在mysql那字段是date类型,值为"yyyy-m-d hh:mm:ss"的格式
然而整合到oracle之后,变成了"dd-mm-yy"的格式,如"03-8月-11"
然而通过to_char转换为"YYYY-MM-DD"时,却提示为“无效数字”
写法是:to_char(BIRTHDATE,'YYYY-MM-DD')请教各位该如何解决这个问题?

解决方案 »

  1.   

    到了Oracle里面变成了'dd-mm-yy',就应该是写成TO_CHAR(BIRTHDATE,'DD-MM-YY')
      

  2.   

    还是会报错,提示“无效数字”
    目前就是想把它转换成“yyyy-mm-dd”这样的格式,但老是报错
      

  3.   

    BIRTHDATE是时间类型的数据吗?
      

  4.   

    BIRTHDATE在oracle里是varchar类型的,从mysql里整合过来的数据是date类型的
      

  5.   

    那BIRTHDATE数据显示的格式是  03-05-11这种格式还是怎么样的
      

  6.   

    BIRTHDATE的数据是23-3月-04
    mysql里的数据是2011-3-11 0:00:00
      

  7.   

    数据值写错了。。但格式是这样的
    oracle里是23-3月-04
    mysql里是2004-3-23 0:00:00
      

  8.   

    数据值写错了,格式是这样的
    正确的数据是
    oracle里是23-3月-04
    mysql里是2004-3-23 0:00:00
      

  9.   

    select to_char(to_date('23-3月-04'),'yyyy-MM-dd') from dual
      

  10.   

    用TO_DATE()将varchar类型转换为date类型
    TO_DATE(BIRTHDATE,'YYYY-MM-DD')
      

  11.   

    问题解决了,谢谢哈
    正确的果真如此
    TO_CHAR(to_date(BIRTHDATE),'YYYY-MM-DD')