오답노트/BNK

오답노트/BNK

[IE to Edge] GET방식의 특수문자

경남프로젝트 진행 중 대부분의 그룹 포탈이며 기타 업무사항을 진행하는 브라우저가 IE로 확인이 되어 난감한 상황이 종종 발생했다. (사전에 Edge와 Chrome으로만 지원이 가능하다고는 얘기가 끝난 상태) 하지만 IE로 작업하는 분들이 많이 있다고하니 어쩌겠는가.. Edge로 redirect 해주는것으로 처리하기로 결정 LoginController 에서 요청을 보내주고 login.jsp에서 IE 인지 체크 (header.jsp에서 _isIE 속성 셋팅 해준것을 사용) 다시 window.location = microsoft-edge:https://주소 사용해 edge로 창을 다시열고 setTimeout(function() {window.open("about:blank", "_self").close();}..

오답노트/BNK

[ORA-01861] - literal match Error TO_CHAR , TO_DATE, LAST_DAY 사용 주의

화면에서 문제없이 실행되던 배치가 갑자기 literal match Error를 뱉는다 확인해보니 LAST_DAY 쪽에서 명시적으로 DATE타입으로 변경해주지 않은 채로 LAST_DAY('20220101') 이런식의 데이터가 들어가게 된것이 문제가 되었던것 literal 에러를 검색해보니 환경이 바뀔때 가장 많이 발생하는 오류라고 한다. 묵시적인 형변환을 해주지 않음으로써 생기는 항상 DATE와 CHAR 타입간의 형 변환에는 명시적으로 Formatt을 작성해주는 것이 성능적인 면에서도, 이러한 오류를 예방하는 면에서도 필수적인 요소이다. ex) TO_DATE('20220101','yyyyMMdd') 다만 보통의 경우와 다른 이상한 점이 있다면 개발서버 웹을 통해 실행하는 경우에는 에러가 발생하지 않는데 직..

오답노트/BNK

시계열 테이블

이번 BNK 법인이익 프로젝트에 경남은행쪽을 진행하던 중 몇몇 테이블들이 시계열 테이블 구조로 이루어져 있다는 것을 알게되었다. 1. 시계열 데이터베이스(TSDB, Time Series Database) 란? [ 시계열 데이터(Time Series Data) 란? ] Time-Stamped Data라고도 불리는 Time Seriese Data(시계열 데이터)는 시간에 따라 저장된 데이터를 의미한다. 시계열 데이터들은 동일한 소스로부터 시간이 지남에 따라 만들어진 데이터들로 구성되므로 시간 경과에 따른 변화를 추적하는데 용이하다. 출처: https://mangkyu.tistory.com/188 [MangKyu's Diary:티스토리] 즉, 매일매일 어제와 같은데이터에 + 오늘 누적되는 데이터를 집어넣는 식..

오답노트/BNK

MAX와 KEEP

사건의 발단 특정 컬럼 값이 동일한 항목에 대해서 다른 컬럼을 기준으로 가장 최종 항목을 조회하는 기능 이 기능을 구현을 끝내고 테스트를 하던 과정에서 기능이 비정상적인 동작을 한다는 얘기가 들려온다. 소스를 확인해보니 SELECT A , MAX(B) , MAX(C) , MAX(D) FROM TABLE WHERE A = @@@ GROUP BY A​ ...할 말을 잃었다 정녕 제정신으로 작성한 쿼리인가 정신차리고 수정 한 결과 SELECT A , MAX(B) KEEP(DENSE_RANK LAST ORDER BY 정렬기준컬럼) , MAX(C) KEEP(DENSE_RANK LAST ORDER BY 정렬기준컬럼) , MAX(D) KEEP(DENSE_RANK LAST ORDER BY 정렬기준컬럼) FROM TAB..

동겸동
'오답노트/BNK' 카테고리의 글 목록