sql string type function

함수란?

  • 미리 정의된 기능을 통해 데이터를 좀 더 편리하게 조작할 수 있도록 해줍니다.
  • 단일 행 함수 : 한번에 하나의 데이터를 처리하는 함수
  • 그룹 함수 : 여러 건의 데이터를 동시에 처리하는 함수

1. 문자 타입 함수

(1) 문자 함수의 종류

LOWER : 값을 소문자로 변환한다.
UPPER : 값을 대문자로 변환한다.
INITCAP : 첫 번째 글자만 대문자로 변환한다.
SUBSTR : 문자열 중 일부분을 선택한다.
REPLACE : 특정 문자열을 찾아 바꾼다.
CONCAT : 두 문자여릉ㄹ 연결한다(|| 연산자와 같다).
LENGTH : 문자열의 길이를 구한다.
INSTR : 명명된 문자의 위치를 구한다.
LPAD : 왼쪽부터 특정 문자로 자리를 채운다.
RPAD : 오른쪽부터 특정 문자로 자리를 채운다.
LTRIM : 주어진 문자열의 왼쪽 문자를 지운다.
RTRIM : 주어진 문자열의 오른쪽 문자를 지운다.

2. LOWER, UPPER, INITCAP : 데이터 값을 대소문자로 변환하기

(1) employees 테이블에서 last_name을 소문자와 대문자로 각각 출력하고, email의 첫 번째 문자는 대문자로 출력하세요.

SELECT last_name,
               LOWER(last_name) LOWER적용,
               UPPER(last_name) UPPER적용,
               email,
               INITCAP(email) INITCAP적용
FROM employees;

3. SUBSTR : 지정한 길이만큼 문자열 추출하기

SUBSTR(‘문자열’ or 열 이름, 시작위치, 길이)

(1) employees 테이블에서 job_id 데이터 값의 첫째 자리부터 시작해서 두 개의 문자를 출력하세요.

SELECT job_id, SUBSTR(job_id, 1, 2) 적용결과
FROM employees;

4. REPLACE : 특정 문자를 찾아 바꾸기

REPLACE(‘문자열’ or 열 이름, ‘바꾸려는 문자열’, ‘바뀔 문자열’)

(1) employees 테이블에서 job_id 문자열 값이 ACCOUNT면 ACCNT로 출력하세요.

SELECT job_id, REPLACE(job_id, ‘ACCOUNT’, ‘ACCNT’)
FROM employees;

5. LPAD, RPAD : 특정 문자로 자릿수 채우기

LPAD(‘문자열’ or 열 이름, 만들어질 자릿수, ‘채워질 문자’)

(1) employees 테이블에서 first_name에 대해 12자리의 문자열 자리를 만들되 first_name의 데이터 값이 12자리보다 작으면 왼쪽에서부터 *를 채워서 출력하세요.

SELECT first_name, LPAD(first_name, 12, ‘*‘) LPAD적용결과
FROM employees;

6. LTRIM, RTRIM : 특정 문자 삭제하기

LTRIM(‘문자열’ or 열 이름, ‘삭제할 문자’)

(1) employees 테이블에서 job_id의 데이터 값에 대해 왼쪽 방향부터 ‘F’문자를 만나면 삭제하고 또 오른쪽 방향부터 ‘T’문자를 만나면 삭제해 보세요.

SELECT job_id,
               LTRIM(job_id, ‘F’) LTRIM적용결과,
               RTRIM(job_id, ‘T’) RTRIM적용결과
FROM employees;

7. TRIM : 공백 제거하기

TRIM(‘문자열’ or 열 이름)

SELECT ‘start’||TRIM(‘ - space - ‘)||’end’ 제거된_공백
FROM dual;

  • dual 테이블 : dummy라는 하나의 열과 하나의 ‘X’테이블 값을 갖고 있는 테이블
  • 임의의 값을 알고자 하거나 특정 테이블을 참고하지 않아도 될 때 유용함
  • 앞의 예처럼, 단순히 지정 문자를 출력하거나 오늘의 날짜를 알고 싶을 때 사용

자료출처: 모두의 SQL

You need to set install_url to use ShareThis. Please set it in _config.yml.

Comments