SQL 데이터를 대소문자로 변환하기 - LOWER / UPPER / INITCAP

이번엔 데이터(문자)를 대소문자로 변환하는 함수들에 대해 포스팅하겠습니다

값을 비교함에 있어서 대소문자가 다르다면 다른 값이 되기에 비교하기 전에 미리 맞춰줄 때 사용하면 좋겠죠

 

아래 칼럼 하나만 가지고 있는 테이블로 한번 살펴보겠습니다

COLOR
Red
blue
GREEN

 

LOWER()

값을 소문자로 변경하는 함수입니다

SELECT UPPER(COLOR) --> COLOR칼럼의 값들을 대문자로 바꿔 출력합니다.
  FROM TABLE
LOWER(COLOR)
red
blue
green

값들이 다 소문자로 바뀌어서 출력이 됩니다


UPPER()

값을 대문자로 변경하는 함수입니다

SELECT UPPER(COLOR) --> COLOR칼럼의 값들을 대문자로 바꿔 출력합니다.
  FROM TABLE
UPPER(COLOR)
RED
BLUE
GREEN

INITCAP()

값의 첫 번째 문자만 대문자로 변환해 출력합니다

SELECT INITCAP(COLOR) --> COLOR칼럼의 값중 첫번째 문자만 대문자로 바꿔 출력합니다.
  FROM TABLE
INITCAP(COLOR)
Red
Blue
Green

위의 함수들을 활용한 예제를 하나 풀어보겠습니다

위 테이블에서 COLOR 칼럼 중 BLUE 값을 가진 데이터를 출력하려면

SELECT *
  FROM TABLE
 WHERE COLOR = 'BLUE'

하지만 대소문자를 구분할 경우 위 테이블에 'BLUE'라는 값은 없어 출력되지 않습니다

SELECT *
  FROM TABLE
 WHERE UPPER(COLOR) = 'BLUE'
COLOR
blue

이런 식으로 COLOR칼럼의 값을 대문자로 바꾸면 'blue'가 'BLUE'로 바뀌어서

'BLUE'와 같은 값을 찾게 되고 위의 결과가 출력됩니다