OracleSQL 핵심정리4 - 함수
주요 함수
DUAL 테이블
- 산술 연산결과를 한 줄로 얻기 위해서 오라클에서 제공하는 테이블
- from절에 기술할 테이블이 없는 경우에만 사용하는 DUMMY한 테이블
- DUMMY라는 단 하나의 컬럼으로 구성되어 있음
숫자함수
- 숫자데이터를 처리하기 위한 함수
ABS
: 절대값 반환COS
: COSINE값 반환EXP
: e의 n승을 반환FLOOR
: 소수점 아래 버림LOG
: LOG값 반환POWER
: m의 n승을 반환SIGN
: n<0이면 -1, n=0이면 0, n>0이면 1을 반환SIN
: SINE값 반환TAN
: TANGENT값 반환ROUND
: 특정 자릿수에서 반올림TRUNC
: 특정 자릿수에서 버림MOD
: 나눈 나머지 값 반환
문자 처리 함수
- 문자형의 값을 조작하여 변환된 문자 값을 반환
UPPER
: 대문자로 변환,LOWER
: 소문자로 변환,INITCAP
: 첫 글자만 대문자로 나머지 글자는 소문자로 변환LENGTH
: 문자 길이를 반환(한글 1Byte),LENGTHB
: 문자 길이를 반환(한글 3Byte)CONCAP
: 문자의 값을 연결,SUBSTR
: 문자를 잘라 추출(한글 1Byte),SUBSTRB
: 문자를 잘라 추출(한글 3Byte),INSTR
: 특정 문자 위치 반환(한글 1Byte),INSTRB
: 특정 문자 위치 반환(한글 3Byte),LPAD, RPAD
: 입력 받은 문자열과 기호를 정렬하여 특정 길이의 문자열로 반환
형 변환 함수
- 숫자, 문자 , 날짜의 데이터 형을 다른 데이터형으로 변환하기 위한 함수
TO_CHAR
: 날짜형 혹은 숫자형을 문자형으로 변환TO_DATE
: 문자형을 날짜형으로 변환TO_NUMBER
: 문자형을 숫자형으로 변환- 숫자 출력 형식
L
: 지역별 통화기호를 앞에 표시0
: 자릿수를 나타내며 자릿수가 맞지 않으면 0으로 채움9
: 자릿수를 나타내며 자릿수가 맞지 않아도 채우지 않음.
: 소수점,,
: 천단위 자리구분
날짜 함수
- DATE형에 사용하는 함수. 결과 값으로 날짜 또는 기간 반환
SYSDATE
: 현재 날짜 반환MONTHS_BETWEEN
: 두 날짜 사이의 개월수 반환ADD_MONTHS
: 개월수를 더함NEXT_DAY
: 인자로 받은 요일에 가장 가까운 날짜를 반환LAST_DAY
: 해당 달의 마지막 날짜를 반환- ROUND 함수의 포멧 모델
CC, SCC
: 4자리 연도의 끝 두글자를 기준으로 반올림SYYY, YYYY, YEAR, SYEAR, YYY, YY, Y
: 년(7월1일부터)DDD, D, J
: 일을 기준으로 반올림HH, HH12, HH24
: 시를 기준으로 반올림Q
: 한 분기의 두번째 달의 16일 기준으로 반올림MONTH, MON, MM, RM
: 월(16일을 기준으로 반올림)DAY, DY, D
: 한 주가 시작되는 날짜를 기준으로 반올림MI
: 분을 기준으로 반올림
NVL 함수
- NULL을 0 또는 다른 값으로 변환하기 위해서 사용하는 함수
- NVL(컬럼명, NULL시 반환할 값), NVL2(컬럼명, NULL이 아닐시 반환할 값, NULL시 반환할 값)
- NULLIF : 두 표현식을 비교하여 동일할 경우 NULL, 동일하지 않으면 첫번째 표현식 반환
- COALESCE : 인수 중에서 NULL이 아닌 첫번째 인수를 반환
DECODE 함수
- 여러가지 경우에 대해서 선택할 수 있도록 하는 선택문
DECODE(표현식, 조건1, 결과1, 조건2, 결과2, ....)
- 표현식이 특정 조건에 해당하면 조건에 맞는 결과값 반환
CASE 함수
- 여러가지 경우에 대해서 하나를 선택하는 함수
- 비교 연산자를 이용하여 조건을 제시하고 범위를 지정할 수 있음
CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ... ELSE 결과n END
그룹 함수
그룹함수
- 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등 하나의 결과로 반환
SUM
: 누적 합계를 반환,AVG
: 평균을 반환,COUNT
: 총 개수를 반환,MAX
: 최대값을 반환,MIN
: 최소값을 반환,STDDEV
: 표준편차를 반환,VARIANCE
: 분산을 반환
- 두번까지 중첩해서 사용 가능
- NULL값은 제외하고 연산
GROUP BY 절
- 특정 컬럼을 기준으로 그룹별로 통계 데이터를 반환할 때 사용
- GROUP BY절 뒤에 언급되지 않는 컬럼명을 SELECT 문에 사용하는 것은 불가능
HAVING 절
- 그룹에 조건을 지정할 때 사용
This post is licensed under CC BY 4.0 by the author.