📃 요약
전세계 기업시장에서 굉장히 활용 많이 하는 관계형 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;