ORA-01861: 文字与格式字符串不匹配

本文介绍了一个关于ORA-01861错误的问题及解决方案。该错误出现在尝试将日期类型变量插入到需要字符串格式的SQL语句中时。通过使用适当的日期转字符串方法,成功解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORA-01861: 文字与格式字符串不匹配


    sql.append( "insert into QA_DCS_DATA ");
   sql.append(" select QA_DCS_DATA_ID_SEQ.nextval,to_date(:flightDate,'yyyy-MM-dd'),:depAirport,:flightSumI,:psgSumI," +
    ":bagPicSumI,:bagWeightSumI,:flightSumD,:psgSumD,:bagPicSumD,:bagWeightSumD from dual where  not exists" +
    "(select * from QA_DCS_DATA d where to_char(d.FLIGHT_DATE,'yyyy-MM-dd')=:flightDateP and d.DEP_AIRPORT=:depAirportP)");

问题: 当为fligthDate 设置值时,insertQ.setDate("flightDate",dcsData.getFlightDate());     可是sql明显是需要一个字符串


解决问题:  insertQ.setString("flightDate",DateUtil.date2String(dcsData.getFlightDate(), "yyyy-MM-dd"));  已某种格式转换为字符串就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值