하위 쿼리를 통해 형성된 테이블의 열 합계를 가져 오는 쿼리가 있습니다. 라인에서DB2 및 Jasper 보고서의 COALESCE 관련 문제
뭔가 : temp.mySum가 null의 경우
select temp.mySum as MySum from (select sum(myColumn) from mySchema.myTable) temp;
그러나, 나는 MySum가 null 싶지 않아. 대신 temp.mySum이 null 일 때 MySum이 문자열 'value not available'을 전달하기를 원합니다.
쿼리 상기 그러나select coalesce(temp.mySum, 'value not available') as MySum from (select sum(myColumn) from mySchema.myTable) temp;
가 던지는 오류 메시지 :
따라서 I를 아래와 같이 병합 사용하려고Message: The data type, length or value of argument "2" of routine "SYSIBM.COALESCE" is incorrect.
이 메시지는 인수 1과 2 사이 때문에 데이터 유형 호환성이며 아래의 첫 번째 대답에서 언급 한 기능을 병합합니다. , 엑셀 시트에서
hashmap.put("myQuery", this.myQuery);
JasperReport jasperReportOne = JasperCompileManager.compileReport(this.reportJRXML);
JasperPrint jasperPrintBranchCd = JasperFillManager.fillReport(jasperReportOne , hashmap, con);
jprintList.add(jasperPrintOne);
JRXlsExporter exporterXLS = new JRXlsExporter();
exporterXLS.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jprintList);
exporterXLS.exportReport();
을 값을 사용할 수 없을 때 나는 널 (null)로 값을 얻고있다 :
그러나, 나는 직접 Excel 시트 보고서에 값을 보낼 재스퍼에서이 쿼리를 사용하고 있습니다. 보고서에 '사용할 수없는 가치'를 표시하고 싶습니다.
어떻게 달성 될 수 있습니까?
읽어 주셔서 감사합니다.
예, 'COALESCE (CHAR (temp.mysum),'값을 사용할 수 없음 ')'은 DB2 LUW에서 원하는 결과를 제공합니다 –