oracle sql语法问题,一直提示数据类型不对

数据类型不一致: 应为 TIMESTAMP, 但却获得 CHAR。为什么会出现这种情况呢?而且使用to_timestamp函数也无效

insert into MATERIAL_INFO(MATNRID,SERNR,CHARG,MEINS,PROPERID,HSDAT,VFDAT,FVDT4,FVDT2,EFDT,CLABS,CREATEID,CHECKSTATUSID)
        select A.* from
        --matnrId,A.sernr, A.charg,A.meins,A.properId,A.hsdat,A.vfdat,A.fvdt4,A.fvdt2,to_timestamp(A.efdt,'yyyy-mm-dd hh24:mi:ss'),A.clabs,A.createId,A.checkstatusid
        (
        <foreach collection="insertList" item="item" index="index" separator="UNION ALL">
            select
            #{item.matnrId} matnrId,
            #{item.sernr} sernr,
            #{item.charg} charg,
            #{item.meins} meins,
            #{item.properId} properId,
            #{item.hsdat} hsdat,
            #{item.vfdat} vfdat,
            #{item.fvdt4} fvdt4,
            #{item.fvdt2} fvdt2,
            case
                when #{item.vfdat} is NULL and #{item.fvdt2} is not null then #{item.fvdt2}
                when #{item.vfdat} is not null and #{item.fvdt2} is null then #{item.vfdat}
                when #{item.vfdat} is null and #{item.fvdt2} is null then null ELSE least(#{item.vfdat},#{item.fvdt2})
            end,
            #{item.clabs} clabs,
            #{item.createId} createId,
            '8AF195A0430847C8BE3F57CCC46B75A4' checkstatusid
            from DUAL
        </foreach>
        )A

https://zhidao.baidu.com/question/515775390.html