본문 바로가기
데이터베이스/SQL

SQL UPPER, LOWER, INITCAP, SUBSTR, LENGTH, INSTR

by ADELA_J 2023. 9. 18.

< UPPER, LOWER, INITCAP

- 사원 테이블의 이름을 출력해보자

- 첫 번째 컬럼은 이름을 대문자로 출력

- 두 번째 컬럼은 이름을 소문자로 출력

- 세 번째 컬럼은 이름의 첫 번째 철자는 대문자, 나머지는 소문자로 출력

▶ UPPER : 대문자로 출력

▶ LOWER : 소문자로 출력

▶ INITCAP : 첫 번째 철자만 대문자로 출력, 나머지는 소문자

 

<함수>

- 다양한 데이터 검색을 위해 필요한 기능

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

▶ 단일행 함수 중 문자 함수 : UPPER, LOWER, INITCAP, SUBSTR, LENGTH, CONCAT, INSTR, TRIM, 등등

 

<함수는 이런식으로 사용>

- 이름이 scott인 사원의 이름과 월급 조회

▶ ename 을 모두 소문자로 해서 scott랑 동일한 데이터를 조회함

사원 이름이 대문자인지 소문자인지 모를 때 확실하게 반환하기 위해 사용할 수 있음.

 

<SUBSTR>

- 문자에서 원하는 위치에서부터 문자열을 추출!

▶ SMITH에서 1번째 글자에서부터 3개를 가져와라

▷ 예를 들어 SUBSTR('SMITH', -2,2) : 뒤에서 2번째부터 두개의 철자를 추출해서 가져와라

    SUBSTR('SMITH', 2) : 2번째 M부터 끝까지 가져와라 

**** 인덱스는 0부터가 아니라 1부터다..!!!!!!!

 

<LENGTH>

- 문자열의 길이를 출력하기

 

한글도 마찬가지로 가능!

 

<LENGTHB>

이건 문자열의 바이트의 길이를 반환 

▶ 한글은 한 글자당 3바이트니까 총 12를 반환!!

 

<INSTR>

- 사원이름 SMITH에서 M이 몇 번째 자리에 있는지 출력

▶ 만약 abcdefgh@naver.com 이메일에서 naver.com만 추출하고 싶으면 

   INSTR + SUBSTR 을 사용하면됨!

 

▷ 1. INSTR로 @ 위치를 확인

2 . SUBSTR에 INSSTR함수로 추출한 @의 자리 숫자 다음 철자를 시작 숫자로 사용

2-1 . naver 만 불러오고싶다면....!?!??! : 곧 배울 RTRIM함수를 이용해서 .com을 잘라주면됨