INITCAP 함수

첫 글자만 대문자로 변환시켜 RETURN한다.

EX) SELECT INITCAP('ORACLE SQL') FROM DUAL;

 

UPPER 함수

모든 문자를 대문자로 변환시켜 RETURN한다.

EX) SELECT UPPER('ORACLE SQL') FROM DUAL;

 

만일, 데이터 중간에 소문자 형식(ex)EMp 으로 되어있다면  UPPER를 이용해서 해당 데이터를 대문자로 변환시켜 원하는 데이터를 찾을 수 있다.

 

LOWER 함수

모든 문자를 소문자로 변환시켜 RETURN한다.

EX) SELECT LOWER('ORACLE SQL') FROM DUAL;

 

LOWER를 조금 응용해서 생각해보자. 그럼 UPPER와 마찬가지로 데이터 중간에 대문자 형식ex)emP 으로 되어있다면 LOWER를  이용해서 해당 데이터를 소문자로 변환시켜 원하는 데이터를 찾을 수 있다.

 

CONCAT 함수

두 개의 문자열을 연결하여 하나의 문자열로 반환하는 함수이다. 

해당 함수는 앞에서 본 논리연산자 || 와 같은 역할을 한다고 보면 된다.

EX) SELECT CONCAT('ORACLE','SQL') FROM DUAL;

 

LENGTH 함수

문자열의 길이를 반환하는 함수이다.

 

EX ) SELECT LENGTH('STRONG') FROM DUAL;

 

위 SQL문을 출력해보면 6이라 나온다.

세부적으로 살펴보면 S, T, R, O, N, G 이렇게 구성되어있어 6개로 출력하는 것이다.

 

INSTR 함수

문자열에서 특정 문자가 나타나는 위치를 반환한다.

 

EX) SELECT INSTR('MILLER', 'L', 1, 2) FROM DUAL;

 

MILLER에서 'L' 을 검색하기 위해 첫 번째 위치'M' 에서 시작할것이다. 그런데 여기서 4번째 항을 2로 설정하였기 때문에 'L' 를 찾았을 때 동작을 멈추는 것이 아니라 그 뒤로 'L'를 찾는다. 그래서 2번째 L의 INDEX인  4를 반환한다.

만약 여기서 'L'이 세 번째에 하나만 있었다면 INDEX는  3이 나왔을 것이다.

 

SUBSTR 함수

문자열에서 일부분의 문자열을 추출할 때 사용하는 함수이다.

 

EX) SELECT SUBSTR('900303-1234567', 1, 8) FROM DUAL;

 

문자열을 검색하기 위해 시작 위치값은 1이다. 그리고 1번 시작 위치값부터 8번까지의 데이터를 반환시켜달라고 요청하는 것이다.

 

REPLACE 함수

특정 문자열을 치환할 때 사용하는 함수이다.

 

EX) SELECT REPLACE ('JACK AND JUE','J','BL') FROM DUAL;

J문자열데이터를 찾아서 BL로 바꿜달라고 요청하는 것이다.

 

LPAD 함수

문자열을 오른쪽으로 정렬시킨 뒤 특정 문자를 왼쪽부터 지정한 문자로 채우는 함수이다.

 

EX) SELECT LPAD('MILLER', 10,'*') FROM DUAL;

 

MILLER는 기존 6자리의 문자열데이터이지만 LPAD로 인해 10자리의 문자열데이터로 바뀐다. 

바뀐 구조를 보면 MILLER 6자리 + MILLER 왼쪽의 공백 4자리로 총 10자리 문자열데이트로 변환된다.

그리고 공백 4자리를 *로 메꾼다는 의미.

 

**LPAD함수와 상반되는 내용으로 RPAD가 있다. LPAD가 왼쪽에 공백을 준 것이라면 RPAD는 오른쪽에 공백을 준 것이다.

 

 

LTRIM 함수

문자열에서 특정 문자를 삭제하기 위한 용도로 사용된다. 문자열의 첫 문자부터 시작해서 지정된 문자와 일치하지 않는 문자가 나올 때까지 계속적으로 해당문자를 제거한다.

지정된 문자가 나오면 첫 문자를 제거하고 종료된다. 그 뒤로 제거하고자하는 문자가 있더라도 제거되지 않는다.

 

EX) SELECT LTRIM('MILLER', 'M') FROM DUAL;

 

RTRIM 함수

문자열의 마지막 문자부터 시작해서 지정된 문자와 일치하지 않는 문자가 나올 때까지 계속적으로 해당문자를 제거한다. LTRIM 함수와 반대되는 개념이라고 생각하면 된다.

 

EX) SELECT RTRIM('MILLER', 'R') FROM DUAL

 

TRIM 함수

TRIM함수는 LTRIM 와 RTRIM의 기능이 전부 다 포함되어있다고 생각하면 된다.

 

EX) TRIM(LEADING, 'STR' FORM 컬럼명|표현식)

여기서 STR은 제거할 문자열을 의미한다. LEADING 은 왼쪽에 있는 'STR' 값 전부 다 제거하는 것을 의미한다.

 

EX) TRIM(TRAILING, 'STR', FROM 컬럼명|표현식)

TRAILING 은 오른쪽부터 'STR' 값 전부 다 제거하는 것을 의미한다. 

'DataBase > DQL' 카테고리의 다른 글

6/26 SQL 날짜함수  (0) 2021.06.27
6/26 SQL 숫자처리함수  (0) 2021.06.26
6/26 SQL 함수  (0) 2021.06.26
6/24 SQL 정렬  (0) 2021.06.25
6/24 SQL 논리연산자  (0) 2021.06.25

+ Recent posts