[SQL] 오라클 데이터베이스 공부 기록(2) - 함수
my code archive
article thumbnail
반응형
UPPER,LOWER,INITCAP

UPPER(문자열) : 괄호 안 문자 데이터를 모두 대문자로 변환하여 반환

LOWER(문자열):괄호 안 문자 데이터를 모두 소문자로 변환하여 반환

INITCAP(문자열):첫 글자는 대문자로, 나머지 문자를 소문자로 변환하여 반환

 

EX) SELECT ENAME, UPPER(ENAME), LOWER(ENAME), INITCAP(ENAME)

FROM EMP;

 

LENGTH 함수

특정 문자열의 길이를 구할 때 사용★★★★★

EX) SELECT ENAME,LENGTH(ENAME)

FROM EMP;

SUBSTR 함수

출처 입력

주민등록번호 중 생년월일 앞자리만 필요하거나 전화번호의 마지막 네 자리 숫자만 추출하는 경우와 같이

문자열 중 일부를 추출할 때 사용

 

EX) SELECT JOB, SUBSTR(JOB,1,2),

->첫 번째 글자부터 두 글자

SUBSTR(JOB,3,2), SUBSTR(JOB,5)

->세 번째 글자부터 두 글자, 다섯 번째부터 끝까지

FROM EMP;

 

LPAD, RPAD 함수

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

-LPAD : 남은 빈 공간을 왼쪽에 채워라

-RPAD : 오른쪽에 채워라

 

EX)SELECT 'Oracle',

LPAD('Oracle',10,'#') AS LPAD_1,

->10자리로 설정하고 10자리 아닐 경우 빈칸 왼쪽을 #으로 채워라

RPAD('Oracle',10,'*')AS RPAD_1,

LPAD('Oracle',10)AS LPAD_2,

RPAD('Oracle',10)AS RPAD_2

FROM DUAL;

 

ROUND

ROUND : 지정된 숫자의 특정 위치에서 반올림한 값을 반환

TRUNC : 지정된 숫자의 특정 위치에서 버림한 값을 반환

날짜 데이터 함수

날짜 데이터 + 숫자 : 숫자만큼 일수 이후의 날짜

날짜 데이터 - 숫자 : 숫자만큼 일수 이전의 날짜

날짜 데이터 - 날짜 데이터 : 두 날짜 데이터 간의 일수 차이 (보통 정수로 안 떨어진다.)

날짜 데이터 + 날짜 데이터 : 연산 불가 (세상에 존재하지 않는 날짜가 나올 수 있어서)

 

-SYSDATE 함수

EX)SELECT SYSDATE AS NOW,

SYSDATE-1 AS YESTERDAY,

SYSDATE+1 AS TOMORROW

FROM DUAL;

 

 

 

-ADD_MONTH 함수

특정 날짜에 지정한 개월 수 이후 날짜 데이터를 반환하는 함수

 

EX)SYSDATE와 ADD_MONTHS 함수로 3개월 후 날짜 구하기

SELECT SYSDATE,

ADD_MONTHS(SYSDATE,3)

FROM DUAL;

 

 

-MONTHS_BETWEEN 함수

두 개의 날짜 데이터를 입력하고 두 날짜 간의 개월 수 차이를 구하는 데 사용

 

-NEXT_DAY, LAST_DAY 함수

입력한 날짜 데이터에서 돌아오는 요일의 날짜를 반환

NEXT_DAY : 돌아오는 요일에 해당하는 날짜

LAST_DAY : 달의 마지막 날짜

 

EX)SELECT SYSDATE,

NEXT_DAY(SYSDATE,'월요일')

LAST_DAY(SYSDATE)

FROM DUAL;

 

 

형 변환 함수

-TO_CHAR ★★★★★

날짜, 숫자 데이터를 문자 데이터로 변환해 주는 함수.

주로 날짜 데이터에서 문자 데이터로 변환하는 데 많이 사용한다.

 

EX) SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')AS 현재날짜시간

FROM DUAL;

 

-TO_DATE

문자열 데이터를 날짜 데이터로 변환해 주는 함수

예제

EMP 테이블에서 사원들은 입사일(HIREDATE)을 기준으로 3개월이 지난 후 첫 월요일에 정직원이 됩니다.

사원들이 정직원이 되는 날짜(R_JOB)를 YYYY-MM-DD 형식으로 오른쪽과 같이 출력해 주세요.

단, 추가 수당(COMM)이 없는 사원들의 추가 수당은 N/A로 출력하세요.

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형