분류 전체보기 83

[Error] 톰캣(Tomcat8.5) 대용량 파일처리시 java.sql.sqlexception: 프로토콜 위반 에러

java.sql.sqlexception: 프로토콜 위반 - 시스템 운영중 위와 같은 시스템 에러가 발생하였다. - 쿼리문을 이용한 큰 파일처리를 하던 중 톰캣의 힙메모리 사이즈가 적어서 사이즈를 늘려주어야만 했다. 힙메모리 사이즈 변경 - 톰캣 아이콘 우클릭 >> Configure 선택 - Java 탭으로 이동후 Maximum memory pool 기본값 : 256MB을 증가시켜줍니다.

[Oracle] 오라클 날짜 뒤에 오는 요일의 날짜 출력 함수 NEXT_DAY()

NEXT_DAY() - NEXT_DAY()를 사용하면 특정 날짜 다음에 돌아오는 특정 요일의 날짜를 출력합니다. NEXT_DAY() 문법 SELECT NEXT_DAY('날짜', '요일') FROM 테이블; - NEXT_DAY() 첫번째 옵션에는 특정 날짜의 값을 넣어주고, 두번째 옵션에서는 요일을 넣어주게 되면, 날짜의 바로 돌아올 요일의 날짜를 출력할 수 있습니다. NEXT_DAY() 테스트(https://livesql.oracle.com/) 1) NEXT_DAY() - 오늘 날짜 2022년 5월 3일 화요일 이후에 금요일이 언제인지 확인 할 수 있습니다. - 연습용으로 사용하는 livesql 사이트에서는 문자나 언어셋이 한글로 되어있지않아 두번째 옵션에서는 요일을 영어로 넣어주어야 합니다. + SQL..

[Oracle] 오라클 두 날짜 사이의 일(day), 주(week), 월(month) 수 구하는 방법

두 날짜 사이의 총 일(day) 수 구하는 방법 - DATE 타입의 데이터 두 개를 빼주면 두 날짜 사이의 일 수를 구할 수 있습니다. 두 날짜 사이의 총 주(week) 수 구하는 방법 - 두 날짜의 주의 수를 구하기 위해서는 두 날짜 사이의 일 수를 구한 다음 구한 값을 7로 나누어줍니다. - 이때 앞에서 서로 빼준 날짜의 값은 DATE형이므로 TO_NUMBER()을 사용하여 숫자의 형태로 바꾸어줍니다. - 4월 24일부터 4월 30일까지는 기준일로부터 17주째가 되는 날짜들입니다. 하여 위와 같이 16.xxx의 값들이 나오게 됩니다. - 정확한 주 수를 구하기 위하여 TO_NUMBER() 대신 올림 함수 CEIL()을 사용하여 줍니다. + 올림 함수 CEIL() 포스팅( https://javabuil..

[Oracle] 오라클 몇개월 뒤 날짜 구하기 ADD_MONTHS() 함수

ADD_MONTHS() - ADD_MONTHS()을 사용하면 특정 날짜에서 개월 수를 더한 날짜를 출력합니다. ADD_MONTHS() 문법 SELECT ADD_MONTHS(날짜, 숫자) FROM 테이블; - ADD_MONTHS() 첫번째 옵션에는 특정 날짜의 값을 넣어주고, 두번째 옵션에서는 더해줄 개월 수를 넣어줌으로써 더한 날짜를 구할 수 있게 됩니다. ADD_MONTHS() 테스트(https://livesql.oracle.com/) 1) ADD_MONTHS() - 문자로 된 오늘의 날짜를 TO_DATE()를 사용하여 날짜로 형변환 해주었습니다. - 그 후에 ADD_MONTHS()을 사용하여 100개월 뒤의 날짜를 출력하였습니다. + 보기 편하게 다시 한번 형변환

[Oracle] 오라클 날짜 간 개월 수 출력 함수 MONTHS_BETWEEN()

MONTHS_BETWEEN() - MONTHS_BETWEEN()을 사용하면 날짜와 날짜 사이의 개월 수를 출력합니다. MONTHS_BETWEEN() 문법 SELECT MONTHS_BETWEEN(날짜1, 날짜2) FROM 테이블; - MONTHS_BETWEEN() 안에 날짜 2개를 넣어주면, 그 날짜 값을 입력받아 숫자 값을 출력합니다. MONTHS_BETWEEN() 테스트(https://livesql.oracle.com/) 1) MONTHS_BETWEEN() - SYSDATE를 사용하면 현재 날짜와 시간을 알 수 있습니다. TO_CHAR()을 사용하여 보기 편하게 형 변환해주었습니다. - MOTNHS_BETWEEN()을 사용하여 현재 날짜에서 비교 날짜의 차이를 출력해주었습니다.

[Error] NVL 사용시 ORA-01722: 수치가 부적합합니다. 오류

ORA-01722: 수치가 부적합합니다. 작업 도중 ORA-01722: 수치가 부적합합니다.라는 오류가 나왔습니다. NVL을 사용하여 계산값이 NULL인 경우 - 로 표기해야 했습니다. 오류 코드는 아래와 같았습니다. 오류코드 계산식이 숫자로만 표기되어 문자형인 '-'로 표기할 수 없었던 게 이유 같아 아래와 같이 수정하였습니다. 수정코드 코드가 정상 작동 출력되었습니다.

[프로그래머스] DATETIME에서 DATE로 형 변환(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물의 아이디, 이름, 들어온 날짜를 조회합니다. - 들어온 날짜는 시각을 제외한 날짜만 출력되어야 합니다. - 이때 순서는 아이디 순으로 정렬합니다. 아이디, 이름, 날짜 조회 :컬럼 ANIMAL_INS, NAME, DATETIME 시각을 제외한 날짜 출력 : 형 변환 TO_CHAR 아이디 순으로 정렬 : 정렬 ORDER BY Solution - ANIMAL_INS 테이블의 아이디와 이름, 날짜를 출력해줍니다. - 형 변환 TO_CHAR()으로 사용하면 DATE형인 들어온 날짜 컬럼인 DATETIME을 원하는 문자 형식으로 변환시켜줄 수 있습니다. YYYY-MM-DD는 각각 연도, 월, 일입니다. - 마지막으로 ORDER BY를 사용하여 아이디 순..

[Oracle] 오라클 올림, 내림 함수 CEIL()과 FLOOR()

CEIL(), FLOOR() - CEIL()은 소수점이 존재하는 숫자를 제일 가까운 정수로 올려서 출력합니다. - FLOOR()은 CEIL()과 반대로 숫자를 제일 가까운 정수로 내려서 출력합니다. CEIL(), FLOOR() 문법 SELECT CEIL(숫자), FLOOR(숫자) FROM 테이블; - CEIL()은 천장, FLOOR()는 바닥이라는 뜻을 가지고 있습니다. CEIL(), FLOOR() 테스트(https://livesql.oracle.com/) 1) CEIL(), FLOOR() - CEIL(10.1)의 경우 10.1을 올림 한 정수를 가져오기에 11이 출력되었습니다. - FLOOR(10.9)는 10.9를 내림하여 가장 가까운 정수를 가져오기에 10이 출력되었습니다.

[Oracle] 오라클 나머지 값 출력 함수 MOD()

MOD() - MOD()는 숫자 값을 나눈 나머지 값을 출력할 때 사용합니다. MOD() 문법 SELECT MOD(숫자1, 숫자2) FROM 테이블; - MOD()에 숫자값 두개를 넣어주면 숫자1에서 숫자2를 나눠준 값을 출력하게 됩니다. MOD() 테스트(https://livesql.oracle.com/) 1) MOD() - MOD()를 사용하여 10에서 3을 나눈 나머지 값인 1이 출력됩니다. 1) MOD()를 사용하여 짝수만 출력 - 1월부터 12월까지의 데이터가 있는 테이블에서 MOD()를 사용하여 일수가 짝수인 날짜만 출력하게 하였습니다.

[Error] ORA-02292: 무결성 제약조건(sys. ***)이 위배되었습니다- 자식 레코드가 발견되었습니다

ORA-02292: 무결성 제약조건(SYS.TEST123)이 위배되었습니다- 자식 레코드가 발견되었습니다 데이터 삭제하다가 나온 에러문이다. 현재 삭제할려는 테이블의 데이터가 다른 테이블 데이터의 PK로 사용되고 있을 경우에 발생한다. 그러니 데이터를 삭제할려면 다른 테이블의 데이터를 먼저 삭제하여야 한다. 해당 에러문의 제약조건명 TEST123을 기억해뒀다가 SELECT CONSTRAINT_NAME, TABLE_NAME, R_CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'TEST123'; 위의 쿼리문을 입력하여 삭제해야 할 데이터의 테이블명을 확인하고 삭제해준다. 그 후 원래 삭제할려고 했던 데이터를 삭제해주면 된다.