gg,oracle中有char2这种类型吗?你可要看好了,你是不是想用varchar2呀,回去改一下数据库试试,有问题再过来。

解决方案 »

  1.   

    OK,我写错了。是char类型。如果是varchar2,取出的数据的长度是正常的。如果是char类型,就会出现上面的问题。刚才,我又试了一下英文的Oracle,也是同样的问题。
      

  2.   

    对!就算是你在conn中用了alter session set nls_date_format = 'YYYY-MM-DD'也没有用。
      

  3.   

    题外话:
    Jdbc不希望你使用.newInstance()去显式的创建一个实例,实际上Class.forName("oracle.jdbc.driver.OracleDriver")后,newInstance()就已经被默认创建,这里会产成一个多余的实例。
      

  4.   

    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    stmt = conn.createStatement();
    两个还是有区别的,一个结果集可滚动,一个不可滚动。至于内部怎么处理需要看资料。
    时间格式不一样可以理解,结果长度不一样就不明白了,加上trim()看看呢?