본문 바로가기

전체 글35

[Oracle] 오라클 LPAD, RPAD 함수 사용방법 (0, 공백 채우기) 오늘은 주로 공백, 0 등을 채울 때 사용하는 LPAD, RPAD 에 대해 알아봅시다. 주로 숫자형 데이터를 문자형으로 변환하고 그 문자길이를 똑같이 맞추기 위해 사용합니다. 함수명에서 알 수 있듯이 LPAD는 왼쪽, RPAD는 오른쪽부터 총길이 만큼 지정한 문자를 채웁니다. 예제를 보는게 가장 이해하기 쉽습니다. [사용법 ] LPAD('값', '총 문자길이' '채울문자') RPAD('값', '총 문자길이' '채울문자') [LPAD 예제] ※ EMPNO를 8자리로 맞추되 짧을 경우 앞에 '0'을 붙인다. (EMPNO의 값은 '123' 이다.) SELECT LPAD(EMPNO, 8, 0) FROM EMPLOYEE ==> 결과 : 00000123 [RPAD 예제] ※ EMPNO를 8자리로 맞추되 짧을 경우 .. 2020. 3. 31.
[Oracle] 오라클 조건절/CASE구문/DECODE구문 오늘은 오라클 쿼리에서 사용할 수 있는 조건절인 CASE 구문과 DECODE 구문의 사용방법을 알아보겠습니다. 쿼리 내에 조건절을 사용할 수 있는 대표적인 방법으로는 CASE 구문과 DECODE 구문이 있는데요, 지극히 개인적인 제 판단으로는 CASE구문이 좀 더 가독성이 좋더라구요. 그래서 간단한 조건절의 경우 DECODE를 사용하고 조금 복잡한 조건식이 들어갈 경우 CASE를 사용합니다. [CASE 구문] CASE WHEN [조건식1] THEN [결과1] WHEN [조건식2] THEN [결과2] ... ELSE [ELSE 결과] END [DECODE 구문] DECODE([비교컬럼], [조건1], [결과1], [조건2], [결과2], … , [ELSE 결과] ) ​ ​ 예제를 통해 좀 더 자세히 알아보.. 2020. 3. 31.
[Oracle] 오라클 날짜 포맷/날짜 연산/ 날짜 계산 ​ [날짜 포맷] SELECT SYSDATE AS BASIC , TO_CHAR(SYSDATE, 'YYYY.MM.DD') -- 년월일 , TO_CHAR(SYSDATE, 'YYYY.MM.DD HH:MI:SS') -- 년월일 시분초 (12시) , TO_CHAR(SYSDATE, 'YYYY.MM.DD HH24:MI:SS') -- 년월일 시분초 (24시) , TO_CHAR(SYSDATE, 'YYYY.MM.DD PM HH:MI:SS ') -- 년월일 오전오후 시분초 , TO_CHAR(SYSDATE, 'YYYY.MM.DD DY HH:MI:SS') -- 년월일 요일 시분초 (금) , TO_CHAR(SYSDATE, 'YYYY.MM.DD DAY HH:MI:SS') -- 년월일 요일 시분초 (금요일) FROM DUAL; [날.. 2020. 3. 31.
[Oracle] 오라클 MERGE 구문 사용 예제 ​ 안녕하세요. 오늘은 MERGE 구문을 살펴볼겁니다. ​ MERGE 구문은 시스템에서 INSERT, UPDATE 를 한번에 사용하게 해주는 구문이며, DB에서 INSERT와 UPDATE를 구분해주므로 ​소스에서 이 데이터가 INSERT인지 UPDATE 인지 구분할 필요가 없어 소스의 가독성을 높여줍니다. 즉, 개발자는 비지니스 로직에만 집중할 수 있도록 도와 줍니다. ​ 이해하기 쉽도록 이미지로 설명을 하였습니다. 아래 이미지 참고하시면 됩니다. 소스는 아래쪽에 있습니다. ​ ​ MERGE INTO EMPLOYEE C --INSERT, UPDATE 할 기준 테이블 USING ( SELECT USERNO , USERNAME , ADDRESS , PHONE FROM EMPLOYEE_TEMP WHERE IN.. 2020. 3. 31.
[Oracle] 오라클 SUBSTR(문자열 자르기) / INSTR(문자열위치) 응용 오라클의 자주 사용하는 문자열 자르기 함수인 SUBSTR과 문자위치를 세는 INSTR을 이용하여 특정 문자열로 자르는 예제를 학습하겠습니다. 1. SUBSTR을 사용하여 문자열 자르기 [문법] SUBSTR('자르기할 문자열[text]', 시작위치[number], 길이[number]) [예제] SELECTSUBSTR('가나다라', 0, 2) FROM DUAL [결과] ==> '가나' 2. INSTR를 이용한 문자열 찾기 [문법] INSTR('대상문자열[TEXT]', '찾을문자열[TEXT]') [예제] SELECT INSTR('가나다라', '다') FROM DUAL [결과] ==> 3 3. SUBSTR과 INSTR를 이용한 특정문자열 기준 자르기 위 두 함수를 이용하여 특정 문자열로 자를 수 있습니다. 다양.. 2020. 3. 31.
[Oracle] 오라클 테이블 컬럼 추가/수정/삭제/컬럼명 변경(ALTER 테이블ADD/MODIFY/DROP/RENAME) 1. 테이블 컬럼 추가하기(ALTER TABLE ADD) [문법] ALTER TABLE 테이블명 ADD(컬럼명 데이타타입(사이즈)); ex) USER라는 테이블에 USER_NAME이라는 컬럼을 VARCHAR2(13) 타입으로 추가할 때 -> ALTER TABLE USER ADD(USER_NAME VARCHAR2(13)); ※ 컬럼 추가 시 코맨트도 추가 해 주어야 겠지요? 1-1. 코멘트 추가 COMMENT ON COLUMN [테이블명].[컬럼명] IS '[Comment]'; ​ 2. 테이블 컬럼 수정하기(ALTER TABLE MODIFY) [문법] ALTER TABLE 테이블명 MODIFY(컬럼명 테이타타입(사이즈)); ex) USER라는 테이블에 USER_AGE 라는 컬럼을 NUNBER(3) 타입으로.. 2020. 3. 31.
[Oracle]오라클 LOCK 조회 및 해제 1. 간단하게 LOCK 확인 SELECT OBJECT_ID , SESSION_ID -- SID , ORACLE_USERNAME , OS_USER_NAME FROM V$LOCKED_OBJECT ; 2. LOCK 발생된 SID, SERIAL, OBJECT 확인 SELECT A.SID , A.SERIAL , object_name , A.SID || ', ' || A.SERIAL# AS KILL_TASK FROM V$SESSION A INNER JOIN V$LOCK B ON A.SID = B.SID INNER JOIN DBA_OBJECTS C ON B.ID1 = C.OBJECT_ID WHERE B.TYPE = 'TM' ; 3. LOCK 세션 해제 ALTER SYSTEM KILL SESSION '401, 1276.. 2020. 3. 31.
[이클립스]The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 이클립스 JSP에 첫번째 줄에 뜨는 에러입니다.실행은 되지만, 우리는 개발환경에 에러가 떠있는 것을 참지 못합니다. 해결방법입니다. 해당 프로젝트 우클릭 -> Build Path -> Configure Build Path...-> Libraries 탭 선택 -> Add library -> Server Runtime -> Tomcat 혹은 설치되어있는 WAS 선택 2018. 11. 21.