클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

데이터 처리와 가공을 위한 오라클 함수 1 - 오라클함수와 문자 함수 본문

알고리즘 및 자료 관리/데이터베이스

데이터 처리와 가공을 위한 오라클 함수 1 - 오라클함수와 문자 함수

huenuri 2024. 8. 21. 16:45

오후에 팀 회의가 있어서 평소보다 늦게 집에 왔다. 그리고 운동도 간단하게 하고 오랜만에 요가를 했는데 정말 몸이 개운하니 좋았다. 하루 5분의 시간만 투자하면 생각보다 할 수 있는 일들이 늘어나는 걸 느끼고 있다.
이제 8시가 훌쩍 넘은 시간이지만 오늘 새벽처럼 3시간의 시간을 정말 알차게 보낼 것이다. 가능하면 오라클 함수를 3시간만에 다 마치고 정처기 공부도 오늘 해야 할 분량까지 마치고 싶다.

이번 수업도 강의 하루치가 빠져 있는데다 자료도 아직 올라와있지 않아 책과 병행하며 학습을 해볼 생각이다. 이럴 줄 알았으면 어제 선생님께 자료를 더 부탁할 걸 그랬다. 아쉬운대로 학습을 이어가기로 했다.

 

학습 내용

  1. 오라클 함수
  2. 문자열 함수

학습 시간

저녁 8시 20분 ~ 10시 10분 <1시간 50분 소요>


 

 

오라클 함수

오라클 함수의 종류

 

 

 

 

 

 

오라클에서 기본으로 제공하고 있는 내장 함수(built-in function)와 사용자가 필요에 의해 직접 정의한 사용자 정의 함수(user-defined function)으로 나뉜다.
내장함수를 뜨거운 물만 부어 바로 먹을 수 있는 컵라면에 비유한다면, 사용자 정의 함수는 약간의 레시피를 활용하여 직접 만들어 먹는 스파게티라고 할 수 있다.

내장 함수는 이미 모두 만들어져 있는 상태이므로 원하는 기능을 간편하게 바로 사용할 수 있다. 하지만 사용자 정의 함수는 구성 요소의 선별과 제작 시간이 필요하기에 바로 사용할 수는 없지만, 내 입맛에 맞는 적절한 기능을 직접 구현해서 사용할 수 있다.


 

내장 함수의 종류

 

내장 함수는 입력 방식에 따라 데이터 처리에 사용하는 행이 나뉜다.

  • 단일행 함수 : 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 함수
  • 다중행 함수 : 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수

 

 

 

 

 

 

 

 

 

 

단일행 함수

 

 

 

 

다중 함수

 

 

 

 

 

 

 


 

 

 

 

문자 데이터를 가공하는 문자 함수

문자 함수는 문자 데이터를 가공하거나 문자 데이터로부터 특정 결과를 얻고자 할 때 사용하는 함수이다. 실무에서 자주 사용하는 데이터는 문자, 숫자, 날짜 데이터이다.

 

대·소문자를 바꿔주는 UPPER, LOWER, INITCAP 함수

소문자가 대문자로 바뀌었다.

 

 

 

실습 6-1

 

 

 

실습 6-2

일치하는 값이 하나도 없었다. 책에는 한 명의 이름이 적혀있지만 목록이 사라진 것 같다.

 

 

 

 

실습 문제 1


 

 

 

 

문자열 길이를 구하는 LENGTH 함수

실습 6-4

 

 

 

실습 6-5


 

 

 

문자열 일부를 추출하는 SUBSTER 함수

문자열 중 일부를 추출할 때 사용하는 함수이다.

 

 

 

 

실습 6-7

 

 

 

 

 

실습 6-8

다른 함수의 결과값을 SUBSTR 함수의 입력값으로 사용할 수도 있다.

 

 

 

 

실습 문제 1


 

 

 

특정 문자를 다른 문자로 바꾸는 REPLACE 함수

이 함수는 특정 문자열 데이터에 포함된 문자를 다른 문제로 대체할 경우에 사용한다.

오늘 저녁에는 공부에 집중이 정말 잘 되지 않고 졸리기도 하고 딴 생각이 많이 난다. 그래도 문자열 함수까지는 학습을 마쳐보자!
책에는 별로 중요하지 않거나 실무에서 잘 사용하지 함수들도 많이 있어 그냥 한번만 읽고 넘어가도 될 것 같다.

 

실습 6-12

 

 

 

데이터의 빈 공간을 특정 문자로 채우는 LPAD, RPAD 함수

LPAD는 왼쪽, RPAD는 오른쪽 패딩을 뜻한다. 데이터와 자릿수를 지정한 후 데이터 길이가 지정한 자릿수보다 작을 경우 나머지 공간을 특정 문자로 채우는 함수이다.
LPAD는 남은 빈 공간을 왼쪽에, RPAD는 오른쪽에 채운다.

실습 6-13


 

 

 

두 문자열 데이터를 합치는 CONCAT 함수

두 개의 문자열 데이터를 하나의 데이터로 연결해주는 역할을 한다.

실습 6-15

 

 

 

 

 

특정 문자를 지우는 TRIM, LTRIM, RTRIM 함수

삭제할 문자가 생략될 경우 기본적으로 공백을 제거한다. 왼쪽의 글자를 지울 때는 LEADING, 오른쪽은 TRAILING, 양쪽은 BOTH를 사용한다.


 

 

 

학습을 마치고

오늘 저녁에도 공부 하기 싫은 마음과 많이 싸우며 힘든 시간을 보냈다. 1시간 가까이 집중이 되지 않아서 그만 두고 싶었으나 그래도 이 부분까지는 마치기로 했다.
마음을 이기고 끝까지 해보니 할만 했다. 어젯밤에는 잠을 30분밖에 자지 않았으니 오늘은 일찍 취침하며 여기서 공부를 마치려고 한다.

오라클 함수까지는 다 마치고 싶었으나 내일 새벽에 맑은 정신으로 하는 것이 훨씬 나을 것 같다. 그래도 오늘 정말 수고가 많았다. 집중을 했다면 1시간 반 안에 끝났을 내용이었으나 조금 오래 걸렸다. 이번 시간 몰입도는 50% 내외였다.