先上后台的输出的sql语句select ID, TRAN_ID, TRAN_DATE, AMOUNT, ACCOUNT_NO, ACCOUNT_NAME,   STATUS, SEQ_NO, TASK_ID, MATCH_NAME, PARENT_ID, CHILD_ID,   REFUND_STAGE, HANDLE_TYPE, OLD_REMIT_E_ID, BILL_TYPE,   NOTE,OPER_ID from CMP_RAS.RAS_REMIT_ERROR where ID =   ?  
2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100652} Executing Statement:       select ID, TRAN_ID, TRAN_DATE, AMOUNT, ACCOUNT_NO, ACCOUNT_NAME,   STATUS, SEQ_NO, TASK_ID, MATCH_NAME, PARENT_ID, CHILD_ID,   REFUND_STAGE, HANDLE_TYPE, OLD_REMIT_E_ID, BILL_TYPE,   NOTE,OPER_ID from CMP_RAS.RAS_REMIT_ERROR where ID =   ?  
2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100652} Parameters: [ff808081266ddcb501266e4e75cc0041]
2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100652} Types: [java.lang.String]
2010-01-28 18:09:28 DEBUG java.sql.ResultSet.debug(27) | {rset-100653} ResultSet
2010-01-28 18:09:28 DEBUG java.sql.ResultSet.debug(27) | {rset-100653} Header: [ID, TRAN_ID, TRAN_DATE, AMOUNT, ACCOUNT_NO, ACCOUNT_NAME, STATUS, SEQ_NO, TASK_ID, MATCH_NAME, PARENT_ID, CHILD_ID, REFUND_STAGE, HANDLE_TYPE, OLD_REMIT_E_ID, BILL_TYPE, NOTE, OPER_ID]
2010-01-28 18:09:28 DEBUG java.sql.ResultSet.debug(27) | {rset-100653} Result: [ff808081266ddcb501266e4e75cc0041, 1493, 2010-01-27 19:12:15.0, 200, 85820100106, 北京同仁堂化学化工有限责任公司0718, 3, null, null, null, null, null, null, 0, ff808081266ddcb501266e4e75cc0041, null, 1493, null]查询的结果  是包含 时分秒的。然后 我去到了 查询结果的  日期字段  插入一条新纪录  语句如下2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100655} Executing Statement:       insert into CMP_RAS.RAS_REMIT_ERROR (ID, TRAN_ID, TRAN_DATE,   AMOUNT, ACCOUNT_NO, ACCOUNT_NAME, STATUS, SEQ_NO, TASK_ID,   MATCH_NAME, PARENT_ID, CHILD_ID, REFUND_STAGE, HANDLE_TYPE,   OLD_REMIT_E_ID, BILL_TYPE, NOTE,OPER_ID) values (?,   ?, ?, ?,   ?, ?, ?,   ?, ?, ?,   ?, ?, ?,   ?, ?, ?,   ?,?)  
2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100655} Parameters: [2c959d48267468280126746828d90000, 1493, 2010-01-27 19:12:15.0, 200, 85820100106, 北京同仁堂化学化工有限责任公司0718, 3, null, null, null, ff808081266ddcb501266e4e75cc0041, null, null, 1, ff808081266ddcb501266e4e75cc0041, 1, 测试 时间格式, null]
2010-01-28 18:09:28 DEBUG java.sql.PreparedStatement.debug(27) | {pstm-100655} Types: [java.lang.String, java.lang.String, java.sql.Timestamp, java.lang.Long, java.lang.String, java.lang.String, java.lang.String, null, null, null, java.lang.String, null, null, java.lang.String, java.lang.String, java.lang.String, java.lang.String, null]
2010-01-28 18:09:28 INFO com.piats.manage.service.impl.RemitErrorManagerImpl.modifyRasRemitError(365) | 修改后新汇款异常对象成功插入到汇款异常信息表中
2010-01-28 18:09:28 INFO com.piats.manage.service.impl.RemitErrorManagerImpl.modifyRasRemitError(387) | 产生汇款异常历史对象ID:ff808081266ddcb501266e4e75cc0041插入语句 格式也是正确的  有时分秒但是  去数据库看  入库的数据  就是没有时分秒!!!!!!!!说明:
数据库表  定义的字段类型是DATE
我试着 直接写insert语句 (to_char(‘2010-01-28 12:12:12’,'yyyy-MM--dd hh-MI24-ss')) 入库也不没有时分秒!!!
但是数据库中确实存在有时分秒的数据
  
持久层是 iBATIS    sqlmapping  定义了 日期字段类型为 DATETIME我就想不到  还能查到哪里!!!!请高手看下~~~~~~~~~~

解决方案 »

  1.   

    应该是有的吧,你在什么地方看的?
    sqlplus,还是pl/sql devloper?还是其它工具?
      

  2.   

    select to_char(COLNAME,'yyyy-mm-dd hh24:mi:ss') from ..
    再看看
      

  3.   

       恩!试试:select to_char(2010-01-28 12:12:12’,'yyyy-mm-dd hh24:mi:ss') from dual
      

  4.   

    查询下:select to_date('2010-01-28 12:12:12','yyyy-mm-dd hh24-mi-ss') from dual;
      

  5.   

    2楼 的方法查看 有时分秒  但是 是 00:00:00
    从dual看  一有正常时分秒的 也就是说我insert的  时分秒确实丢失了!!!!!!!!!!!!
      

  6.   

    你insert的时候时间字段的值是怎么写的?
    to_char('2010-01-28 12:12:12’,'yyyy-MM--dd hh-MI24-ss')??如果是的话 改为to_date('2010-01-28 12:12:12’,'YYYY-MM-DD HH24-MI-SS')试试日期格式字符串好像有些错误
      

  7.   


    不是的   发帖的时候笔误   是'YYYY-MM-DD HH24-MI-SS'
      

  8.   

    补充   别人操纵这张表的时候  跟我调用的是一个sqlmapping    后台日志输出的插入语句 也是一样的 
    居然就有时分秒!!!!!!!!!
    我是撞见鬼了!!!!!!!!!!!
      

  9.   

    无人问津了  ~~~~
    在线等这呢啊
    to_char(‘2010-01-28 12:12:12’,'yyyy-MM--dd hh-MI24-ss')) 入库也不没有时分秒!!! 
    这句收回  这可以有时分秒
      

  10.   

    这有点晕了你确认真的是同一个sqlmapping么?实在不行,把sqlmapping改为String,在insert里面利用to_char转换一下试试看吧。
      

  11.   

    十分确定!!!我调查了,用哪个sqlmapping的也调查了。
    不想改也不能改sqlmapping  那样实体类的成员变量类型也得改  影响很大~~~
      

  12.   

    select to_char(COLNAME,'yyyy-mm-dd hh24:mi:ss') from .. 
      

  13.   

    将 定义的字段类型是DATE  去掉  
    直接用#字段# 而不用#字段:类型#
      

  14.   


    #字段:类型#   我的 不是date类型是  datetime  类型   我可以试一下你去掉类型的方法还有  楼上说的 我检查了    insert 语句 ?号 对应的  是 java.sql.Timestamp  是正常的 并且 对应的值 也是喊有时分秒的ps: 同样的程序  跑测试库 丢失时分秒 , 而跑开发库不会出现这个诡异的现象! 测试库与开发库定义一致!!!!!!!!!
      

  15.   

    20楼的  办法可以   但是我很迷惑,
    被人也用到了  这个语句   为什么就可以呢~!!!  按常理说 定义成 datetime 类型 是 标准规范的写法啊给分