2011년 7월 5일 화요일
날짜 가로 Query 만들기
/**
* 보험처리 날짜 갯수 합계 부분 생성
* @param dateList 날짜 List
* @return 날짜 합계 부분
*/
public static String getDateTotalQuery(String[] dateList) throws Exception {
StringBuffer sql = new StringBuffer();
sql.append(" ( ");
for (int i = 0; i < dateList.length; i++) {
if( i != 0 ) sql.append(" + ");
sql.append("date").append(dateList[i]);
}
sql.append(" ) ");
return sql.toString();
}
/**
* 보험처리 날짜(갯수) 최종 목록 부분 생성
* @param dateList 날짜 List
* @return 날짜 최종 목록 부분
*/
public static String getDateListQuery(String[] dateList) throws Exception {
StringBuffer sql = new StringBuffer();
for (int i = 0; i < dateList.length; i++) {
if( i != 0 ) sql.append(", ");
sql.append("date").append(dateList[i]);
}
return sql.toString();
}
/**
* 보험처리 날짜(갯수) 개별 합계 부분 생성
* @param dateList 날짜 List
* @return 날짜 최종 목록 부분
*/
public static String getDateSumQuery(String[] dateList) throws Exception {
StringBuffer sql = new StringBuffer();
for (int i = 0; i < dateList.length; i++) {
if( i != 0 ) sql.append(", ");
sql.append("SUM(date").append(dateList[i]).append(") date").append(dateList[i]);
}
return sql.toString();
}
/**
* 보험처리 날짜(갯수) 개별 Decode 부분 생성
* @param dateList 날짜 List
* @param dataFlag 날짜 구분(년/월/일)
* @return 날짜 개별 합계 부분
*/
public static String getDateDecodeQuery(String[] dateList, String dateFlag) throws Exception {
StringBuffer sql = new StringBuffer();
//날짜 구분에 따라 날짜 조건 변경
String returnDate = "YYYYMMDD";
if (dateFlag.equals("Y")) returnDate = "YYYY";
else if (dateFlag.equals("M")) returnDate = "YYYYMM";
else if (dateFlag.equals("D")) returnDate = "YYYYMMDD";
for (int i = 0; i < dateList.length; i++) {
if( i != 0 ) sql.append(", ");
sql.append("DECODE(TO_CHAR(create_dt, '").append(returnDate).append("'), '").append(dateList[i]).append("', 1, 0) date").append(dateList[i]);
}
return sql.toString();
}
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기