데이터의 값이 엔터가 들어간 문자를 찾기 위해서 테이블을 생성하고, 엔터가 들어가지 않은 데이터와 엔터가 들어간 데이터를 삽입하여 조회 후 엔터를 제거하는 쿼리를 나열 하겠습니다.
1. 테이블 생성
2. 데이터 생성
- USER_ID를 동일한 값을 지정하는 이유는 마지막에 치환할 때 홍길동은 아무런 변화가 없어야 하므로, 유효성 체크를 위해서 입니다. 만약, 아무런 문제가 없는 홍길동을 치환 시켜버린다면 더 큰 문제가 발생 할 수 있으니 테스트는 엔터 없는 데이터와 엔터가 있는 데이터를 치환할 때 문제가 없는지 파악합니다.
3. 데이터 확인
[결과] |
4. 엔터(ENTER) 데이터 찾기
- 데이터 중에서 ENTER가 들어간 문자를 'PWDENTER##!!' 임의의 값으로 변경하고 조회하는 방법 입니다.
5. 엔터(ENTER) 데이터 치환하기
5-1. 치환된 결과 확인
위 내용처럼 오라클 함수를 이용해서 엔터(ENTER)값을 치환할 수 있습니다.
사용되었던 SQL은 아래와 같습니다.
/* 1. 테이블 생성 */ CREATE TABLE ADBANCED_ENTER_TB(USER_ID VARCHAR2(10) NOT NULL ,USER_NM VARCHAR2(50) NOT NULL ) ; /* 2. 데이터 생성 */ INSERT INTO ADBANCED_ENTER_TB a (A.USER_id, A.user_nm) values('advance01', '홍길동');
INSERT INTO ADBANCED_ENTER_TB a (A.USER_id, A.user_nm) values('advance01', '마리 오');
/* 4. 엔터(ENTER) 데이터 찾기*/ SELECT A.* FROM (SELECT A.USER_ID ,A.USER_NM ,REPLACE( REPLACE(A.USER_NM, CHR(13), '') ,CHR(10), 'PWDENTER##!!' ) AS ENTER_USER_NM FROM ADBANCED_ENTER_TB A) A WHERE A.ENTER_USER_NM LIKE '%PWDENTER##!!%' ;
/* 5. 엔터(ENTER) 데이터 치환하기 */ UPDATE ADBANCED_ENTER_TB A SET A.USER_NM = REPLACE(REPLACE(A.USER_NM, CHR(13), ''), CHR(10), '') WHERE A.USER_ID = 'advance01' |
'Oracle > SQL' 카테고리의 다른 글
[SQL] INSERT ALL 쿼리로 부모테이블과 자식테이블 적재 테스트(FK) (0) | 2017.03.23 |
---|---|
V$SQLAREA (0) | 2015.04.20 |