본문 바로가기
초보자를 위한 SQL 200제/이론 & 예제

016 대소문자 변환 함수 배우기 (UPPER, LOWER, INITCAP)

by Hwanii_ 2023. 7. 12.
728x90

철자를 대문자, 소문자로 변환 하여 출력 하려면 어떻게 해야 할까 ?

 

철자의 대소문자를 변환 하기 위해서, UPPER, LOWER, INITCAP 함수를 사용 한다.

 

1.

사원 테이블의 이름을 출력할 때,

첫 번째 컬럼은 이름을 대문자로,

두 번째 컬럼은 이름을 소문자로,

세 번째 컬럼은 이름의 첫 번째 철자만 대문자로 하고, 나머지는 소문자로

출력 하기.

 

SELECT UPPER(ename), LOWER(ename), INITCAP(ename)
FROM emp;

UPPER(ENAME) LOWER(ENAME) INITCAP(ENAME)
---------- ---------- ----------
KING       king       King      
BLAKE      blake      Blake     
CLARK      clark      Clark     
JONES      jones      Jones     
MARTIN     martin     Martin    
ALLEN      allen      Allen     
TURNER     turner     Turner    
JAMES      james      James     
WARD       ward       Ward      
FORD       ford       Ford      
SMITH      smith      Smith     

UPPER(ENAME) LOWER(ENAME) INITCAP(ENAME)
---------- ---------- ----------
SCOTT      scott      Scott     
ADAMS      adams      Adams     
MILLER     miller     Miller    

14개 행이 선택되었습니다.

 

upper 함수는 대문자로 출력,

lower 함수는 소문자로 출력,

initcap 함수는 첫번째 철자만 대문자로, 그 다음 철자 부터는 소문자로 출력

 

되는 함수 이다.

 

2.

함수 == function

 

함수는 다양한 데이터 검색을 위해 필요한 기능 이다.

 

emp (사원) 테이블에서 월급 평균값은 얼마인지를 알고 싶을 때도

함수를 사용 해야하고,

 

emp 테이블에서 평균 월급 이상을 받는 사원들을 알고 싶을 때도

함수를 사용 해야한다.

 

3.

 

함수의 종류   설명
단일 행 함수 정의
종류
하나의 행을 입력 받아, 하나의 행을 반환
(문자, 숫자, 날짜, 변환, 일반) 함수
다중 행 함수 정의
종류
여러 행을 입력 받아, 하나의 행을 반환
그룹 함수

 

단일 행 함수 에서 문자 함수의 종류는 아래와 같다.

 

1)

UPPER

 

2)

LOWER

 

3)

INICAP

 

4)

SUBSTR

 

5)

LENGTH

 

6)

CONCAT

 

7)

INSTR

 

8)

TRIM

 

9)

LPAD

 

10)

RPAD

 

등등 이 있다.

 

4.

upper 함수와 lower 함수를 사용 하는 이유 

 

테이블 내 특정 문자 데이터를 검색 하고자 할 때,

 

해당 데이터가 대문자 인지, 소문자 인지 모르는 경우에,

 

정확한 데이터 검색을 위해 필요 하다.

 

5.

이름이 scott 인 사원의 이름과 월급을 조회 하기.

 

SELECT ename, sal
FROM emp
WHERE LOWER(ename) = 'scott';

ENAME             SAL
---------- ----------
SCOTT            3000

 

WHERE 문에 사용할때의 LOWER() 함수 이다.

 

사원 테이블의 사원 이름이 모두 대문자로 되어 있는것을 알고 있는 상황이긴 한데,

 

만약에, 사원 테이블이 1억건 이상의 데이터가 존재하는 대용량 테이블 이라고 가정하고,

 

사원 이름이 대문자로 되어 있는지, 소문자로 되어 있는지 모르는 상황 이라면,

 

LOWER(ename) = 'scott';

또는

UPPER(ename) = 'SCOTT';

라고 작성 해야 데이터를 확실하게 반환 할 수 있다.

 

 

 

 

 

반응형