
📃 요약
전세계 기업시장에서 굉장히 활용 많이 하는 관계형 DB 로 오라클이 있음.
상용 가격은 굉장히 비싸고, 유지보수 비용도 굉장히 높은것으로 알려져 있음.
마이크로서비스가 활성화 되면서 예전과 달리 비싼 비용의 오라클보다 무료 DB 로 전환하는 사례도 나타나고 있음
주로 서비스업체 중심으로 Mysql / Maria DB 가 많이 활용되고 SI 프로젝트는 아직도 전통의 강자 오라클이 많이 사용되고 있음
요소 기술 :
– Basic : SQL
📃 기술 구현
스펙 :
- SQL Developer - Oracle SQL
📃 내장 Function 기초
- 자바에서와 같이 여러가지 계산, 문자열 조작 등 편리한 기능을 제공 - SQL 문 안에서 사용
1. 문자열 함수
1) 문자 함수
- 대소문자 변경 , 첫글자만 대문자로 변경 함수
사용법 :
- 대문자 변환 : UPPER('문자열') -- 문자열 대신 컬럼명도 올 수 있음
- 소문자 변환 : LOWER('문자열')
- 첫글자만 대문자 변환 : INITCAP('문자열')
예 :
SELECT 'Oracle mania'
,UPPER('Oracle mania') AS 대문자
,LOWER('Oracle mania') AS 소문자
,INITCAP('Oracle mania') AS "첫글자만 대문자"
FROM DUAL;
2) 문자 길이를 RETURN 하는 함수
- LENGTH(문자열) : 한글/영어 상관없이 문자개수를 세어서 RETURN 하는 함수 - 코딩 언어셋 : 영어 표현(1BYTE), 한글 표현(3BYTE) [UTF-8 표현식(국제표준)]
예 :
SELECT LENGTH('Oracle mania')
,LENGTH('오라클매니아')
FROM DUAL;
3) 문자 조작 함수
- 문자열 붙이기
사용법 :
- 함수 형태 : CONCAT('문자열','문자열2')
- 기호 형태 : '문자열' || '문자열2'
예 :
SELECT 'Oracle'
,'mania'
,CONCAT('Oracle','mania')
,'Oracle' || 'mania'
FROM DUAL;
4) 문자 조작 함수
- SQL : 인덱스번호(1부터 시작)
사용법)
- SUBSTR(대상컬럼,시작위치,자를개수)
- 단, 시작위치가 음수이면 뒤에서 셈)
예 :
SELECT SUBSTR('Oracle mania',4,3)
,SUBSTR('Oracle mania',-1,1)
FROM DUAL;
5) 문자열에서 대상 문자를 찾아서 인덱스번호를 RETURN 함수
- SQL : 인덱스번호 : 1부터 시작
SELECT INSTR('Oracle mania','a')
,INSTR('오라클매니아','라')
FROM DUAL;
6) 컬럼에 어떤 문자를 붙이기 함수
- LPAD, RPAD - LPAD 함수 : 어떤 문자를 왼쪽에 채우기 함수 - RPAD 함수 : 어떤 문자를 오른쪽에 채우기 함수
사용법)
- LPAD(대상컬럼, 자리수, 채울문자)
( 자리수에서 빈칸은 채울문자로 채워짐(왼쪽))
SELECT LPAD(SALARY, 10, '*')
FROM EMPLOYEE;
7) 컬럼에 어떤 문자를 붙이기 함수
- LPAD, RPAD - LPAD 함수 : 어떤 문자를 왼쪽에 채우기 함수 - RPAD 함수 : 어떤 문자를 오른쪽에 채우기 함수
사용법)
- LPAD(대상컬럼, 자리수, 채울문자)
( 자리수에서 빈칸은 채울문자로 채워짐(왼쪽))
SELECT LPAD(SALARY, 10, '*')
FROM EMPLOYEE;
사용법 :
- RPAD(대상컬럼, 자리수, 채울문자)
( 자리수에서 빈칸은 채울문자로 채워짐(오른쪽))
SELECT RPAD(SALARY, 10, '*')
FROM EMPLOYEE;
8) 문자열에서 공백제거하기 :
- LTRIM : 왼쪽에 공백 제거하기 - RTRIM, : 오른쪽에 공백 제거하기 - TRIM(*) : 양쪽에 공백 제거하기
사용법) LTRIM(컬럼명): 왼쪽 공백제거
RTRIM(컬럼명): 오른쪽 공백제거
TRIM(컬럼명): 양쪽 공백제거
SELECT 'Oracle mania'
,LTRIM(' Oracle mania ')
,RTRIM(' Oracle mania ')
,TRIM(' Oracle mania ')
FROM DUAL;
2. 숫자 함수
1) 반올림 :
- ROUND()
사용법 : ROUND(대상컬럼, 자리수)
참고 : 자리수가 음수일경우 일의 자리부터 반올림이 됨
예 :
SELECT 98.7654
, ROUND(98.7654) -- 0 자리에서 반올림
, ROUND(98.7654, 2) -- 2nd 자리에서 반올림
, ROUND(98.7654, 1) -- 1st 자리에서 반올림
, ROUND(98.7654, -1) -- 일의 자리에서 반올림(참고)
FROM DUAL;
2) TRUNC :
- 버림(내림), 특정자리수에서 버림
사용법) TRUNC(대상컬럼, 자리수)
참고) 자리수가 음수일경우 일의 자리부터 버림이 됨
예 :
SELECT 98.7654
, TRUNC(98.7654)
, TRUNC(98.7654, 2)
, TRUNC(98.7654, -1)
FROM DUAL;
3) MOD :
- 나머지 연산 함수 ( == % : 나머지 연산자(js))
사용법) MOD(대상컬럼, 나눌숫자) : 결과 나머지가 RETURN 됨
예 :
SELECT MOD(31, 2)
, MOD(31, 5)
, MOD(31, 8)
FROM DUAL;



