我正试图在以下来自TestController类的本机查询中传递LocalDate值-
@Query(nativeQuery = true, value = "SELECT SCHED_EVENT.UOID,SCHED_EVENT.A_OBJECT,SCHED_EVENT.A_OBJECT_ACTIVITY,SCHED_EVENT.A_EVENT_TYPE , " +
" SCHED_EVENT.SCHEDULED_DATE,SCHED_EVENT.INVOICE_DUE_DATE,SCHED_EVENT.A_WORK_ITEM,SCHED_EVENT.A_OPER_BK_ORG , "+
" INSTRUMENT.INSTRUMENT_ID,ACTIVITY.A_ACTIVITY_TYPE,ACTIVITY.SEQ_NUM_OF_ACTV_TY FROM SCHED_EVENT, INSTRUMENT, ACTIVITY "+
" WHERE SCHED_EVENT.A_EVENT_TYPE = 'PAY' AND SCHED_EVENT.INVOICE_DUE_DATE = :invoiceDueDate "+
" AND SCHED_EVENT.A_OBJECT = INSTRUMENT.UOID AND INSTRUMENT.UOID = ACTIVITY.P_INSTRUMENT AND SCHED_EVENT.A_OBJECT_ACTIVITY = ACTIVITY.UOID "+
" AND EXISTS (SELECT SCHED_EVENT.A_OBJECT FROM INSTRUMENT, PARTY, CUSTOMER WHERE SCHED_EVENT.A_OBJECT = INSTRUMENT.UOID AND (INSTRUMENT.A_PRODUCT = 'ATP') "+
" AND (INSTRUMENT.A_CLIENT_BANK = 'BMG' OR INSTRUMENT.A_CLIENT_BANK = 'CB1') AND (INSTRUMENT.A_TERMS_ACTIVE = PARTY.P_OBJECT) "+
" AND (PARTY.RELATION_CUST_IND = 'Y') AND (PARTY.A_CUSTOMER = CUSTOMER.UOID) AND (CUSTOMER.CUSTOMER_ID = 'C119001' OR CUSTOMER.CUSTOMER_ID = 'C119003'))")
public List<Object[]> getATPPaymentScheduleList(@Param("invoiceDueDate") LocalDate invoiceDueDate);
我正在将来自TestController类的日期传递为-
@Autowired
private ScheduledEventRepository scheduledEventRepository;
@RequestMapping(method = RequestMethod.GET)
@Secure("bank setup")
@ResponseBody
public MappingJacksonValue findByActivityAndAmortAccrue(@RequestParam(value = "id", required = false) String id) {
List<Object[]> entryList;
org.joda.time.format.DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MMM-yy");
LocalDate dateTime = new LocalDate();
entryList = scheduledEventRepository.getATPPaymentScheduleList(dateTime.parse("11-APR-13", fmt));
return buildResponseView(entryList, id);
}
当点击邮递员的URL时,我得到了以下异常-
exceptionMessage:
我尝试过以多种格式传递日期,但没有任何效果。数据库中SCHED_EVENT.INVOICE_DUE_DATE的数据类型是DATE。
这里的日期正确的传递方式是什么?
错误消息告诉您,您的sql请求希望看到date
作为参数,但您将localdate
作为替代,因此,要解决此问题,您应该将localdate
值转换为date
。
我将非常感谢对这个例外的帮助。 我对这个错误做了一些研究,但找不到解决方法。我将JPA与hibernate一起使用,并在执行查询时得到这个错误。 显然,关于java LocalDate和oracle Date有一些我不理解的地方。:( 这就是目标: java.sql.SqlSyntaxerRoreXception:ORA-00932:不一致的数据类型:预期的日期已获取二进制 非常感谢提前给你的提示
我有这个查询我试图运行,但我一直遇到这个错误。我正在尝试执行一个子句,将数据(BLOB列)与:var2(这是一个blob对象)进行比较。 这是我的密码。 对于为什么我会得到这个错误有什么建议吗? 我正在将与进行比较,这不是很好吗? 谢谢
我正在使用。NET中的Oracle数据访问,我的查询如下 我得到以下错误“ORA-00932:不一致的数据类型:预期的日期得到的数字”
我在ubuntu 14.04LTS上使用oracle 11g。我有一个名为成员的表,我由以下sql创建, 后来我更新了这个表格, 现在,当我运行“DESC members”时,它会显示结果, 最后,我运行了这样的插入sql, 它显示了错误, 第1行错误:ORA-00932:数据类型不一致:预期数字为二进制 有人能帮我解决问题吗?而且我也不确定在这个过程中我是否可以添加图像或路径的二进制文件。有人能
当我执行我的查询时,我得到错误: