DB
Hive - HQL 함수
개발 일기92
2025. 2. 2. 16:59
1. 집계 함수 (Aggregate Functions)
함수설명
AVG(col) | 주어진 컬럼의 평균을 계산 |
COUNT(*) | 전체 행 개수를 반환 |
COUNT(DISTINCT col) | 특정 컬럼에서 중복을 제거한 후 개수를 반환 |
MAX(col) | 컬럼의 최대값 반환 |
MIN(col) | 컬럼의 최소값 반환 |
SUM(col) | 컬럼 값의 합을 반환 |
COLLECT_SET(col) | 중복을 제거한 고유한 값들의 집합 반환 |
COLLECT_LIST(col) | 모든 값의 리스트 반환 |
2. 수학 함수 (Mathematical Functions)
함수설명
ABS(x) | 절댓값 반환 |
CEIL(x) | 올림한 정수 반환 |
FLOOR(x) | 내림한 정수 반환 |
ROUND(x, d) | 반올림 (d는 소수점 자리수) |
EXP(x) | e^x 값을 반환 |
LN(x) | 자연로그 반환 |
LOG10(x) | 밑이 10인 로그 반환 |
LOG2(x) | 밑이 2인 로그 반환 |
POW(x, y), POWER(x, y) | x의 y 거듭제곱 반환 |
SQRT(x) | 제곱근 반환 |
RAND() | 0~1 사이의 난수 생성 |
SIN(x), COS(x), TAN(x) | 삼각함수 반환 |
3. 문자열 함수 (String Functions)
함수설명
LENGTH(str) | 문자열 길이 반환 |
LOWER(str) | 소문자로 변환 |
UPPER(str) | 대문자로 변환 |
TRIM(str) | 앞뒤 공백 제거 |
LTRIM(str), RTRIM(str) | 좌측/우측 공백 제거 |
SUBSTRING(str, start, length) | 부분 문자열 반환 |
CONCAT(str1, str2, …) | 문자열 연결 |
CONCAT_WS(separator, str1, str2, …) | 특정 구분자로 문자열 연결 |
REPLACE(str, search, replace) | 특정 문자열을 다른 문자열로 변경 |
REVERSE(str) | 문자열 뒤집기 |
INSTR(str, substr) | 특정 문자열의 시작 위치 반환 |
REGEXP_EXTRACT(str, pattern, index) | 정규 표현식에 해당하는 부분 추출 |
REGEXP_REPLACE(str, pattern, replace) | 정규 표현식으로 특정 문자열 치환 |
4. 날짜 및 시간 함수 (Date & Time Functions)
함수설명
CURRENT_DATE | 현재 날짜 반환 |
CURRENT_TIMESTAMP | 현재 타임스탬프 반환 |
FROM_UNIXTIME(bigint) | UNIX 타임스탬프를 날짜로 변환 |
UNIX_TIMESTAMP() | 현재 타임스탬프(초 단위) 반환 |
UNIX_TIMESTAMP(string, format) | 특정 날짜 문자열을 UNIX 타임스탬프 변환 |
DATE_ADD(date, days), DATE_SUB(date, days) | 날짜에서 일수를 더하거나 빼기 |
DATEDIFF(date1, date2) | 두 날짜 간 차이(일 단위) 반환 |
YEAR(date), MONTH(date), DAY(date), HOUR(date), MINUTE(date), SECOND(date) | 날짜의 연, 월, 일, 시, 분, 초 추출 |
LAST_DAY(date) | 해당 월의 마지막 날짜 반환 |
DATE_FORMAT(date, format) | 특정 형식으로 날짜 변환 |
5. 조건부 함수 (Conditional Functions)
함수설명
IF(condition, true_value, false_value) | 조건이 참이면 true_value, 거짓이면 false_value 반환 |
CASE WHEN condition THEN value … ELSE default END | 다중 조건 처리 |
COALESCE(value1, value2, …) | NULL이 아닌 첫 번째 값 반환 |
NVL(value, default) | NULL 값을 기본값으로 대체 |
NVL2(value, not_null_value, null_value) | 값이 NULL이 아닐 때와 NULL일 때 다른 값 반환 |
6. 변환 함수 (Type Conversion Functions)
함수설명
CAST(value AS type) | 데이터 타입 변환 (INT, STRING, DOUBLE, BIGINT 등) |
CONVERT(value, type) | 다른 데이터 타입으로 변환 |
HEX(binary) | 바이너리를 16진수 문자열로 변환 |
UNHEX(string) | 16진수 문자열을 바이너리로 변환 |
7. 집합 함수 (Collection Functions)
함수설명
SIZE(array) | 배열의 크기 반환 |
MAP_KEYS(map) | 맵(Map)의 키 리스트 반환 |
MAP_VALUES(map) | 맵(Map)의 값 리스트 반환 |
SORT_ARRAY(array) | 배열을 정렬하여 반환 |
ARRAY_CONTAINS(array, value) | 배열에 특정 값이 포함되어 있는지 확인 |