-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
함수 개요
함수의 정의
- 함수는 벤더에서 제공하는 함수인 내장함수와 사용자가 정의할 수 있는 사용자 정의 함수로 나눌 수 있다.
내장함수의 종류
- 단일행 함수: 입력값이 단일행 값이 입력되는 함수.
- 다중행 함수: 여러 행의 값이 입력되는 함수로, 집계함수, 그룹함수, 윈도우 함수로 나눌 수 있다.
- M:1 관계: 함수는 입력되는 값이 아무리 많아도 출력은 하나만 되는 중요한 특징이 있다.
단일행 함수의 입력
- 단일행 함수의 경우 단일행 내에 있는 하나의 값 또는 여러 값이 입력값으로 표현될 수 있다.
단일행 함수의 특징
- 사용 가능 절: 단일행 함수는
SELECT,WHERE,ORDER BY절에 사용 가능하다. - 작용 방식: 각 행들에 대해 개별적으로 작용해 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴한다.
- 결과 리턴: 여러 인자를 입력해도 단 하나의 결과만 리턴한다.
- 인자 사용: 함수의 인자로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있다.
문자형 함수 설명
문자형 함수의 정의
- 문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수이다.
주요 문자형 함수
LOWER(문자열): 문자열의 알파벳 문자를 소문자로 바꾼다.UPPER(문자열): 문자열의 알파벳 문자를 대문자로 바꾼다.ASCII(문자): 문자나 숫자를 ASCII 코드 번호로 바꾼다.CONCAT(문자열1, 문자열2): 문자열1과 문자열2를 연결한다.
예시
LOWER('SQL EXPERT')는'sql expert'를 리턴한다.LENGTH('SQL EXPERT')는10을 리턴한다.
숫자형 함수 설명
숫자형 함수의 정의
- 숫자형 함수는 숫자 데이터를 입력받아 처리하고 숫자를 리턴하는 함수이다.
주요 숫자형 함수
ABS(숫자): 숫자의 절대값을 리턴한다.SIGN(숫자): 숫자가 양수인지, 음수인지 0인지를 구별한다.ROUND(숫자 [, m]): 숫자를 소수점 m+1자리에서 반올림해 리턴한다.
예시
ROUND(38.5235, 3)는38.524를 리턴한다.FLOOR(38.123)는38을 리턴한다.
날짜형 함수 설명
날짜형 함수의 정의
- 날짜형 함수는 DATE 타입의 값을 연산하는 함수이다.
주요 날짜형 함수
SYSDATE / GETDATE(): 현재 날짜와 시간을 출력한다.EXTRACT('YEAR'|'MONTH'|'DAY' from d): 날짜 데이터에서 년, 월, 일 데이터를 출력할 수 있다.
예시
SELECT SYSDATE FROM DUAL;는 현재의 시간을 출력한다.EXTRACT(YEAR FROM HIREDATE)는 입사년을 출력한다.
변환형 함수 설명
변환형 함수의 정의
- 변환형 함수는 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 때 사용하는 함수이다.
주요 변환형 함수
TO_NUMBER(문자열): 알파벳 문자열을 숫자로 변환한다.TO_CHAR(숫자|날짜 [, FORMAT]): 숫자나 날짜를 주어진 FORMAT 형태로 문자열 타입으로 변환한다.
예시
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD')는 날짜를 정해진 문자 형태로 변형한다.SELECT TO_NUMBER(ZIP_CODE1, '999')는 ZIP 코드를 숫자로 변환한다.
CASE 표현 사용법
CASE 표현의 정의
CASE표현은 IF-THEN-ELSE 논리와 유사한 방식으로 표현식을 작성해서 SQL의 비교 연산 기능을 보완하는 역할을 한다.
단일행 CASE 표현의 종류
- SIMPLE_CASE_EXPRESSION: 조건이 맞으면 THEN 절 수행, 맞지 않으면 ELSE 절 수행.
- SEARCHED_CASE_EXPRESSION: 조건이 맞으면 THEN 절 수행, 맞지 않으면 ELSE 절 수행.
예시
SELECT ENAME, CASE WHEN SAL > 2000 THEN SAL ELSE 2000 END REVISED_SALARY FROM EMP;NULL 관련 함수 설명
NULL의 정의
- 널 값은 아직 정의되지 않은 값으로, 0과 공백과 다르다.
주요 NULL 관련 함수
- NVL(표현식1, 표현식2): 표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다.
- NULLIF(표현식1, 표현식2): 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.
- COALESCE(표현식1, 표현식2, ...): 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다.
예시
SELECT NVL(NULL, 'NVL-OK')는'NVL-OK'를 리턴한다.SELECT COALESCE(COMM, SAL)는 커미션이 NULL일 경우 급여를 출력한다.
NULLIF 함수 사용법
NULLIF 함수의 정의
- NULLIF 함수는 EXPR1이 EXPR2와 같으면 NULL을, 같지 않으면 EXPR1을 리턴한다.
용도
- 특정 값을 NULL로 대체하는 경우에 유용하게 사용할 수 있다.
예시
SELECT ENAME, EMPNO, MGR, NULLIF(MGR, 7698) NUIF FROM EMP;기타 NULL 관련 함수 (COALESE)
COALESE 함수의 정의
- COALESE 함수는 인수의 숫자가 한정되어 있지 않으며, 임의의 개수 EXPR에서 NULL이 아닌 최초의 EXPR을 나타냄
예시
SELECT ENAME, COMM, SAL, COALESCE(COMM,SAL) COL FROM EMP;- 두 컬럼중 null 이 아닌것을 먼저 출력한다.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels