SUBSTR, INSTR 사용해서 문자열 자르기 하려다가 JAVA split 사용으로 변경
2021. 11. 15. 15:08ㆍWeb/Project(Work)
A테이블에 a컬럽에 들어있는 내용
zzzz2/IT지원/10.11.43.90
JJC09/신세카이 프로젝트/0:0:0:0:0:0:1
JJC09/신세카이 프로젝트/10.11.5.245
JJC09/0:0:0:0:0:0:1
NULL
이런 식으로 들어가 있는 컬럼이 있는데, SELECT 로 뽑아 오고싶은 것은
IT지원, 신세카이프로젝트 이런 내용들만 뽑아오고싶고
4번째 로우같이 가운데 문자열이 없는건 null처리 하고싶어요
라고 생각했는데 그냥 서버로 데이터 뽑아서 해결함..
해결 코드
@Override
public List<UserLoginHistVO> getUserLoginHistList(UserLoginHistVO paramVO) throws Exception {
//쿼리결과를 UserLoginHistVO 형식으로 list에 담음
List<UserLoginHistVO> list = odsDao.selectUserLoginHistList(paramVO);
//해당 호출한 list를 forEach로 반복문 돌려준다. 각각의 반복을 vo로 칭함
list.forEach(vo -> {
//반정규화 된 컬럼을 객체로 가져옴
String str = vo.getChgCont();
//들고온 str이 null일때는 굳이 처리할 필요없음
if(str != null) {
//null이 아닌 getChgCont()를 /기준으로 짤라준다.
String[] chgCont = str.split("/");
//안에 배열의 범위가 3개면 가운데꺼만 때서 보냄
if(chgCont.length == 3) {
//0,1,2 순서로 배열에 담기기에 1을 넘기면 내가원하는 결과가 전달됨
vo.setChgCont(chgCont[1]);
//배열의 범위가 2개라는건 가운데꺼가 없는거라는거임 그래서 공백으로 리턴해줌
}else if (chgCont.length == 2) {
String empty = "";
vo.setChgCont(empty);
}
}
]);
return list;
}
'Web > Project(Work)' 카테고리의 다른 글
Jquery Toast Plugin 사용해서 공지사항 띄우기.. (0) | 2021.11.29 |
---|---|
JSP에서 form전송 시 주의(submit 막기) (0) | 2021.11.24 |
HTML input값 byte 길이 체크 후 메세지 띄우기 (0) | 2021.11.23 |