본문 바로가기

별걸다하는 IT/데이터베이스 Database

[오라클, MySQL] 대소문자와 관련된 UPPER, LOWER, INITCAP함수 사용법. 대문자로 변경, 소문자로 변경

[DBMS 데이터베이스 SQL 완전정복 목차]

안녕하세요 양햄찌 블로그 주인장입니다.

오늘은 간단한 SQL문법에 대해 빠르게 포스팅을 진행해보려고 해요. ㅎㅎ

오늘 주제 주인공은 Upper, Lower, Initcap이라는 함수입니다. 

 

참고로, upper와 lower는 오라클, mysql 모두 지원하는데

첫 글자만 대문자로 변경해주는 Initcap의 경우 오라클만 있고 Mysql에서는 이와 같은 별도의 함수가 정의되어 있진 않습니다.

대문자로 변경하는 UPPER 함수

먼저 Upper함수는 컬럼의 문자열을 소문자던 대문자던 모두 대문자 알파벳으로 변경해주는 함수입니다. 간단하쥬?

select upper('HELLO world!')
from dual;

더미 테이블인 dual를 통해서 간단하게 실행시켜봤어요.

짠, 소문자가 모두 대문자로 변경된 것을 쉽게 확인해 볼 수 있습니다.

참고로 MySQL에는 동일한 함수가 하나 더 존재하는데 UCASE는 UPPER와 동일한 기능을 수행합니다.

소문자로 변경하는 LOWER 함수

Lower는 Upper의 반대로, 모든 문자열을 소문자로 통일시켜주는 함수입니다.

select lower('HELLO world!')
from dual;

이번에도 DUAL테이블로 빠르게 결과를 테스트 해 봅시다 ㅎㅎ

대문자던 소문자던 모두 소문자로 통일된 값을 확인할 수 있습니다.

맨 첫 글자만 대문자로 변경해주는 INITCAP 함수 (Oracle)

그 다음은 INITCAP이라는 함수인데요,

select initcap('HELLO world!')
from dual;

Initcap은 단어(문자열)의 맨 첫 글자만 대문자로 변경해줘요 ㅎㅎ

Initail + capital의 약자인 것 같죠? 참고로 initcap은 오라클에서만 built-in된 함수이고 MySQL에서는 지원하지 않습니다.

MySQL에서 이와 같은 함수를 사용하려면 만들면 됩니다! ㅎㅎ 

SELECT CONCAT(UPPER(LEFT('hello', 1)), SUBSTRING('hello', 2)) as 첫글자만대문자
FROM DUAL

요렇게 ㅎㅎ

참고로 left는 len길이만큼 왼쪽에 있는 문자열을 반환합니다. substring은 n번째 자리부터 문자열을 뽑아줘요 ㅎㅎ

left한 결과를 대문자로 바꿔서 나머지 문자열과 concat으로 이어붙인거랍니다.

 

▼참고로 concat함수가 궁금하신 분은 요 포스팅을 참고해주세요 → jhnyang.tistory.com/369

 

[DB SQL] 문자열 붙이기, 문자열 합치기 - CONCAT 함수와 || 연산자 사용하기 (MySQL과 ORACLE의 차이)

[데이터베이스 DBMS SQL 완전정복 포스팅 목차] 안녕하세요~~ 오늘도 SQL구문 하나를 들고 왔습니다. 꼭 알아야 할 필수 구문 중 하나이죠!ㅎㅎ 데이터는 이전에 같이 다운로드 받았던 EMPLOYEES 테이

jhnyang.tistory.com

오늘은 대소문자에 관한 기초 단일행SQL함수 3가지를 알아봤어요. ㅎㅎ 

도움이 되었으면 좋아요 어떤가요? 그럼 모두 즐거운 주말되세요~