다양한 함수
학습내용
- 1.문자함수
- 2.숫자함수
- 3.날짜함수
- 4.변환함수
- 5.일반함수
학습목표
-
문자형의 값을 조작하여 변환된 문자 값을 반환하는 문자 함수를 학습합니다.
-
숫자형 데이터를 조작하여 변환된 숫자 값을 반환하는 숫자 함수를 학습합니다.
-
DATE(날짜)형을 사용하여 결과 값으로 날짜 또는 기간을 얻는 날짜 함수를 학습합니다.
-
자료형을 변환시키고자 할 때 사용하는 함수를 학습합니다.
-
NULL을 다른 값으로 변환하는 NVL 함수를 학습합니다.
-
조건에 맞는 문장을 수행하는 DECODE와 CASE에 대해서 학습합니다.
1.문자함수
1-1 대소문자 변환함수
1-2 문자 길이를 반환하는 함수
1-3 문자 조작 함수
1-3-1 CONCAT
1-3-2 SUBSTR
- 기존 문자열에서 일부
1-3-3 INSTR
- 문자열 내에 해당 문자가 어느 위치에 존재하는지를 알려줌
1-3-4 LPAD
- 칼럼이나 대상 문자열을 명시된 자릿수에서 오른쪽에 나타내고, 남은 왼쪽자리를 특정 기호로 채움
1-3-5 RPAD
- 대상 문자열을 명시된 자릿수에서 왼쪽에 나타내고, 남은 오른쪽 자리를 특정 기호로 채움
1-3-6 TRIM
- 칼럼이나 대상 문자열에서 특정 문자가 첫 번째 글자이거나 마지막 글자이면 잘라내고 남은 문자열만 반환
2.숫자함수
2-1 ROUND
- 반올림하기 위한 함수
2-2 TRUNC
- 소수점 n째 자리까지 남기고 나머지는 버림
2-3 MOD
입력 받은 수를 나눈 나머지 값을 반환한다.
3.날짜함수
3-1 SYSDATE
- SYSDATE 함수는 시스템에 저장된 현재 날짜를 반환하는 함수입니다. 다음은 시스템에서 현재 날짜를 얻어 와서 출력하는 예제입니다.
예제
날짜 형 데이터에 숫자를 더하면(날짜+숫자) 그 날짜로부터 그 기간만큼 지난 날짜를 계산합니다. 날짜 형 데이터에 숫자를 빼면(날짜-숫자) 그 날짜로부터 그 기간만큼 이전 날짜를 구합니다.
3-2 ROUND
실습
1. HR 데이터의 저장된 데이터 확인
- DESC 를 하여 EMPLOYEES 데이터의 테이블 구조 파악
- ROUND 조건을 부여하여 근무일수 추출
3-3 TRUNC
3-4 MONTHS_BETWEEN
- MONTHS_BETWEEN 함수는 날짜와 날짜 사이의 개월 수를 구하는 함수입니다.
3-5 ADD_MONTHS
3-6 NEXT_DAY
- NEXT_DAY 함수는 해당 날짜를 기준으로 최초로 도래하는 요일에 해당되는 날짜를 반환하는 함수입니다.
3-7 LAST_DAY
- LAST_DAY 함수는 해당 날짜가 속한 달의 마지막 날짜를 반환하는 함수입니다.
4.변환함수
형 변환
- 오라클에서 데이터형으로 변환해야 하는 경우에는 TO_NUMBER, TO_CHAR, TO_DATE를 사용
4-1 TO_CHAR
- 다음은 날짜 출력 형식의 종류를 나열한 표 입니다.
4-2 TO_DATE
4-3 TO_NUMBER
5. 일반함수
5-1 NVL 함수
- NULL을 0 또는 다른 값으로 변환하기 위해서 사용하는 함수
5-2 NVL2 함수
- expr1 을 검사하여 그 결과가 널이면 exp2를 반환하고 널이 아니면 expr3을 반환
5-3 NULLIF 함수
- 두 표현식을 비교하여 동일한 경우에는 널을 반환하고 동일하지 않으면 첫 번째 표현식을 반환
5-4 COALESCE
- 인수 중에서 NULL이 아닌 첫번째 인수를 반환
- expr-1이 NULL이 아니면 expr-1을 반환합니다. expr-1이 NULL이고 expr-2가 NULL이 아니면 expr-2를 반환합니다.
5-5 DECODE
5-6 CASE
- 프로그램 언어의 if, else, if else 와 유사한 구조를 갖습니다.