update ordersegmentshipment  set TaskInstruction = '必须轻放',SalesmanName = '杨洋',LoadFacilityName='材料库',LoadPartyName ='123123',LoadDate = to_Date('2009-03-17 10:52:00.0','yyyy-mm-dd'),LoadGeoId= '8a8f81a41e6d8c0e011e71d1c0960095', LoadAddress='23121, Loader='张东', LoaderTel='123456',UnloadFacilityName= '材料库',UnloadPartyName= '123123',UnloadDate =to_Date('2009-03-17 10:52:00.0','yyyy-mm-dd'),UnloadGeoId= '8a8f81a41e6d8c0e011e71d1c0960095',UnloadAddress='12312313', Unloader='张东', UnloaderTel='123456', Re='123456789',GeoDistance='null',OrgName='123123'  where id = '8a8f94f02011f0c7012012596b9e0006'这是我的sql语句,插入数据库的时候出现 ORA-01830: 日期格式图片在转换整个输入字符串之前结束   错误
UnloadDate =to_Date('2009-03-17 10:52:00.0','yyyy-mm-dd'),我试着用截取字符串,也不行,救命啊!!!

解决方案 »

  1.   


    date类型不能包含秒以后的精度,所以必须改成如下:UPDATE ORDERSEGMENTSHIPMENT
       SET TASKINSTRUCTION    = '必须轻放',
           SALESMANNAME       = '杨洋',
           LOADFACILITYNAME   = '材料库',
           LOADPARTYNAME      = '123123',
           LOADDATE           = CAST(TO_TIMESTAMP('2009-03-17 10:52:00.0','yyyy-mm-dd hh24:mi:ssxff') AS DATE),
           LOADGEOID          = '8a8f81a41e6d8c0e011e71d1c0960095',
           LOADADDRESS        = '23121',
           LOADER             = '张东',
           LOADERTEL          = '123456',
           UNLOADFACILITYNAME = '材料库',
           UNLOADPARTYNAME    = '123123',
           UNLOADDATE         = CAST(TO_TIMESTAMP('2009-03-17 10:52:00.0','yyyy-mm-dd hh24:mi:ssxff') AS DATE),
           UNLOADGEOID        = '8a8f81a41e6d8c0e011e71d1c0960095',
           UNLOADADDRESS      = '12312313',
           UNLOADER           = '张东',
           UNLOADERTEL        = '123456',
           REMARK             = '123456789',
           GEODISTANCE        = 'null',
           ORGNAME            = '123123'
     WHERE ID = '8a8f94f02011f0c7012012596b9e0006';
      

  2.   

    UnloadDate =to_Date('2009-03-17 10:52:00.0','yyyy-mm-dd')注意,要把上面红色部分的.0去掉,UnloadDate =to_Date('2009-03-17 10:52:00','yyyy-mm-dd hh24:mi:ss')
      

  3.   

    先谢各位大哥了,我按照1楼的写法,UnloadDate =CAST(TO_TIMESTAMP('2009-03-17 10:52:00.0','yyyy-mm-dd hh24:mi:ssxff') AS DATE),又出现ORA-01722: 无效数字 错误,疯掉
      

  4.   

    试一下这种方式
    to_date(substr('2009-03-17 10:52:00.0',0,10),'yyyy-mm-dd')