함수 색인

함수 색인 (Function Index)

이 페이지는 Apache Pinot에서 가장 일반적으로 사용되는 함수의 포괄적인 A-Z 참조를 카테고리별로 제공해요. 각 카테고리 섹션은 전체 문법, 파라미터, 예시가 있는 상세 문서 페이지로 연결돼요.

출처: 문서

본문

함수는 Single-Stage Engine (SSE), Multi-Stage Engine (MSE), 또는 둘 다에서 사용할 수 있어요. Window 함수는 multi-stage 엔진이 필요해요.

이 페이지는 엔진 안내와 함께 함수 목록을 나타내요. 전체 정보는 개별 문서를 참조하세요.

집계 함수 (Aggregation)

자세한 내용은 Aggregation Functions를 참조하세요.

Function Signature Return Type Description Engine
COUNT COUNT(*) or COUNT(col) LONG 행 수 카운트 Both
MIN MIN(col) DOUBLE 최소값 반환 Both
MAX MAX(col) DOUBLE 최대값 반환 Both
SUM SUM(col) DOUBLE 값의 합 반환 Both
AVG AVG(col) DOUBLE 값의 평균 반환 Both
MODE MODE(col) DOUBLE 가장 빈번한 값 반환 Both
MINMAXRANGE MINMAXRANGE(col) DOUBLE 범위(max - min) 반환 Both
DISTINCTCOUNT DISTINCTCOUNT(col) INT 정확한 고유 카운트 반환 Both
DISTINCTCOUNTHLL DISTINCTCOUNTHLL(col [, log2m]) LONG HyperLogLog를 사용한 근사 고유 카운트 Both
DISTINCTCOUNTHLLPLUS DISTINCTCOUNTHLLPLUS(col [, p]) LONG HyperLogLog++를 사용한 근사 고유 카운트 Both
DISTINCTCOUNTSMARTHLLPLUS DISTINCTCOUNTSMARTHLLPLUS(col [, params]) LONG 임계값 이후 HLL++로 전환되는 exact-then-approximate 고유 카운트 Both
DISTINCTCOUNTBITMAP DISTINCTCOUNTBITMAP(col) INT bitmap을 사용한 고유 카운트 Both
DISTINCTCOUNTTHETASKETCH DISTINCTCOUNTTHETASKETCH(col [, predicates...]) LONG Theta Sketch를 사용한 고유 카운트 Both
DISTINCTCOUNTCPCSKETCH DISTINCTCOUNTCPCSKETCH(col [, lgK]) LONG CPC Sketch를 사용한 고유 카운트 Both
DISTINCTCOUNTULL DISTINCTCOUNTULL(col [, p]) LONG UltraLogLog를 사용한 고유 카운트 Both
DISTINCTSUM DISTINCTSUM(col) DOUBLE 고유 값의 합 Both
DISTINCTAVG DISTINCTAVG(col) DOUBLE 고유 값의 평균 Both
SEGMENTPARTITIONEDDISTINCTCOUNT SEGMENTPARTITIONEDDISTINCTCOUNT(col) LONG 분할 컬럼에 최적화된 고유 카운트 Both
PERCENTILE PERCENTILE(col, pct) DOUBLE 정확한 백분위 값 Both
PERCENTILEEST PERCENTILEEST(col, pct) LONG Quantile Digest를 사용한 추정 백분위 Both
PERCENTILETDIGEST PERCENTILETDIGEST(col, pct) DOUBLE T-Digest를 사용한 추정 백분위 Both
PERCENTILEKLL PERCENTILEKLL(col, pct) DOUBLE KLL Sketch를 사용한 추정 백분위 Both
HISTOGRAM HISTOGRAM(col, binEdges...) DOUBLE[] bin 경계에 대한 히스토그램 계산 Both
COVARPOP COVARPOP(col1, col2) DOUBLE 모집단 공분산 Both
COVARSAMP COVARSAMP(col1, col2) DOUBLE 표본 공분산 Both
VARPOP VARPOP(col) DOUBLE 모집단 분산 Both
VARSAMP VARSAMP(col) DOUBLE 표본 분산 Both
STDDEVPOP STDDEVPOP(col) DOUBLE 모집단 표준편차 Both
STDDEVSAMP STDDEVSAMP(col) DOUBLE 표본 표준편차 Both
SKEWNESS SKEWNESS(col) DOUBLE 값의 비대칭도 Both
KURTOSIS KURTOSIS(col) DOUBLE 값의 첨도 Both
FIRSTWITHTIME FIRSTWITHTIME(dataCol, timeCol, 'type') varies 가장 이른 타임스탬프와 연관된 값 Both
LASTWITHTIME LASTWITHTIME(dataCol, timeCol, 'type') varies 가장 늦은 타임스탬프와 연관된 값 Both
ANYVALUE ANYVALUE(col) varies 그룹의 임의의 값 반환 Both
BOOLAND BOOLAND(col) BOOLEAN 모든 값에 대한 논리 AND Both
BOOLOR BOOLOR(col) BOOLEAN 모든 값에 대한 논리 OR Both
EXPRMIN EXPRMIN(measureCol, exprCol1, ...) varies 최소 측정 행의 컬럼 Both
EXPRMAX EXPRMAX(measureCol, exprCol1, ...) varies 최대 측정 행의 컬럼 Both
FREQUENTSTRINGSSKETCH FREQUENTSTRINGSSKETCH(col, maxMapSize) STRING 문자열용 frequent items sketch Both
FREQUENTLONGSSKETCH FREQUENTLONGSSKETCH(col, maxMapSize) STRING long용 frequent items sketch Both
FUNNELCOUNT FUNNEL_COUNT(STEPS(step1, step2, ...), CORRELATE_BY(col1 [, col2, ...]) [, SETTINGS(setting1, setting2, ...)]) LONG[] 하나 이상의 상관 컬럼에 대한 퍼널 단계 카운트 Both
FUNNELMAXSTEP FUNNELMAXSTEP(stepCol, corCol, settings, step1, step2, ...) INT 도달한 최대 퍼널 단계 Both
FUNNELCOMPLETECOUNT FUNNELCOMPLETECOUNT(stepCol, corCol, settings, step1, step2, ...) INT 완료된 퍼널의 카운트 Both
FUNNELSTEPDURATIONSTATS FUNNELSTEPDURATIONSTATS(timestampExpression, windowSize, numberSteps, step1, ..., 'durationFunctions=...') DOUBLE[] 완료된 퍼널 실행에 대한 단계 간 기간 통계 Both
SUMPRECISION SUMPRECISION(col [, precision]) STRING BigDecimal을 사용한 고정밀 합 Both
ARRAYAGG ARRAYAGG(col, 'type' [, distinct]) ARRAY 값을 배열로 집계 Both
LISTAGG LISTAGG(col [, delimiter]) STRING 값을 구분된 문자열로 집계 Both
SUMARRAYLONG SUMARRAYLONG(arrCol) LONG[] long 배열의 요소별 합 Both
SUMARRAYDOUBLE SUMARRAYDOUBLE(arrCol) DOUBLE[] double 배열의 요소별 합 Both

문자열 함수 (String)

자세한 내용은 String Functions를 참조하세요.

Function Signature Return Type Description Engine
UPPER UPPER(str) STRING 문자열을 대문자로 변환 Both
LOWER LOWER(str) STRING 문자열을 소문자로 변환 Both
INITCAP INITCAP(str) STRING 각 단어의 첫 글자를 대문자로 Both
REVERSE REVERSE(str) STRING 문자열 뒤집기 Both
SUBSTR SUBSTR(str, start [, end]) STRING 시작/끝 위치로 부분 문자열 추출 Both
SUBSTRING SUBSTRING(str, start [, length]) STRING 시작 위치와 길이로 부분 문자열 추출 Both
LEFT LEFT(str, length) STRING 왼쪽 N개 문자 반환 Both
RIGHT RIGHT(str, length) STRING 오른쪽 N개 문자 반환 Both
CONCAT CONCAT(str1, str2) STRING 두 문자열 연결 Both
TRIM TRIM(str) STRING 앞뒤 공백 제거 Both
LTRIM LTRIM(str) STRING 앞 공백 제거 Both
RTRIM RTRIM(str) STRING 뒤 공백 제거 Both
LPAD LPAD(str, size, pad) STRING 지정 크기까지 왼쪽 패딩 Both
RPAD RPAD(str, size, pad) STRING 지정 크기까지 오른쪽 패딩 Both
LENGTH LENGTH(str) INT 문자열 길이 반환 Both
OCTETLENGTH / OCTET_LENGTH OCTETLENGTH(str) INT 문자열의 UTF-8 바이트 수 반환 Both
BITLENGTH / BIT_LENGTH BITLENGTH(str) INT 문자열의 UTF-8 비트 수 반환 Both
CHARLENGTH / CHAR_LENGTH / CHARACTERLENGTH / CHARACTER_LENGTH CHARLENGTH(str) INT 문자열의 Unicode 코드 포인트 수 반환 Both
STRPOS STRPOS(str, find [, instance]) INT 부분 문자열 위치 반환 Both
STRRPOS STRRPOS(str, find [, instance]) INT 부분 문자열의 마지막 위치 반환 Both
STARTSWITH STARTSWITH(str, prefix) BOOLEAN 문자열이 접두사로 시작하는지 확인 Both
ENDSWITH ENDSWITH(str, suffix) BOOLEAN 문자열이 접미사로 끝나는지 확인 Both
CONTAINS CONTAINS(str, substring) BOOLEAN 문자열이 부분 문자열을 포함하는지 확인 Both
ASCII ASCII(str) INT 첫 문자 코드 반환, 빈 문자열이면 0 Both
REPLACE REPLACE(str, target, replacement) STRING target 발생 교체 Both
REMOVE REMOVE(str, search) STRING 검색 문자열의 모든 발생 제거 Both
SPLIT SPLIT(str, delimiter [, limit]) STRING[] 구분자로 문자열 분할 Both
SPLITPART SPLITPART(str, delimiter, index) or SPLITPART(str, delimiter, limit, index) STRING 분할 후 선택된 요소 반환; 음수 인덱스는 끝에서부터 셈 Both
SUBSTRINGINDEX / SUBSTRING_INDEX SUBSTRINGINDEX(str, delimiter, count) STRING N번째 구분자 앞의 텍스트 반환, count가 음수면 그 뒤 Both
FIRSTLINE FIRSTLINE(str) STRING \n, \r\n, \r 구분자를 사용해 첫 줄 반환 Both
OVERLAY OVERLAY(str, replacement, start [, length]) STRING SQL 표준 overlay 의미, 1-based 시작 위치; length 생략 시 교체 길이 기본값 Both
REPEAT REPEAT(str, times) STRING 문자열 N번 반복 Both
REGEXPCOUNT / REGEXP_COUNT REGEXPCOUNT(str, pattern) INT 겹치지 않는 regex 일치 수 Both
REGEXPSUBSTR / REGEXP_SUBSTR REGEXPSUBSTR(str, pattern) STRING 첫 regex 일치 반환, 없으면 null Both
REGEXP_EXTRACT REGEXP_EXTRACT(str, pattern [, group]) STRING 문자열에서 regex 일치 추출 Both
CHR CHR(codepoint) STRING Unicode 코드 포인트에 대한 문자 반환 Both
CODEPOINT CODEPOINT(str) INT 첫 문자의 Unicode 코드 포인트 반환 Both
NORMALIZE NORMALIZE(str [, form]) STRING Unicode 문자열 정규화 Both
STRCMP STRCMP(str1, str2) INT 두 문자열 사전순 비교 Both
STARTSWITHCASEINSENSITIVE STARTSWITHCASEINSENSITIVE(str, prefix) BOOLEAN 대소문자 무시하고 접두사로 시작하는지 확인 Both
ENDSWITHCASEINSENSITIVE ENDSWITHCASEINSENSITIVE(str, suffix) BOOLEAN 대소문자 무시하고 접미사로 끝나는지 확인 Both
HAMMINGDISTANCE HAMMINGDISTANCE(str1, str2) INT 두 문자열 사이의 해밍 거리 Both
LEVENSTEINDISTANCE LEVENSTEINDISTANCE(str1, str2) INT 레벤슈타인 편집 거리 Both
SOUNDEX SOUNDEX(str) STRING 문자열의 4자 Soundex 코드 반환 Both
DIFFERENCE DIFFERENCE(str1, str2) INT Soundex 코드 비교로 0-4 유사도 점수 반환 Both
SPACE SPACE(count) STRING count개의 공백으로 만든 문자열 반환 Both
ISVALIDASCII ISVALIDASCII(str) BOOLEAN 모든 문자가 ASCII 범위에 있으면 true 반환 Both

수학 함수 (Math)

자세한 내용은 Math Functions를 참조하세요.

Function Signature Return Type Description Engine
ABS ABS(val) DOUBLE 절대값 Both
CEIL / CEILING CEIL(val) DOUBLE 가장 가까운 정수로 올림 Both
FLOOR FLOOR(val) DOUBLE 가장 가까운 정수로 내림 Both
EXP EXP(val) DOUBLE 오일러 수의 거듭제곱 Both
LN / LOG LN(val) DOUBLE 자연로그 Both
LOG2 LOG2(val) DOUBLE 밑 2 로그 Both
LOG10 LOG10(val) DOUBLE 밑 10 로그 Both
LOG1P LOG1P(val) DOUBLE 1 + val의 자연로그 Both
SQRT SQRT(val) DOUBLE 제곱근 Both
CBRT CBRT(val) DOUBLE 세제곱근 Both
SIGN SIGN(val) DOUBLE 숫자의 부호(-1, 0, 1) Both
POW / POWER POW(base, exp) DOUBLE base를 exp로 거듭제곱 Both
EXP2 EXP2(val) DOUBLE 2를 주어진 거듭제곱으로 Both
EXP10 EXP10(val) DOUBLE 10을 주어진 거듭제곱으로 Both
MOD MOD(a, b) DOUBLE 나머지 연산 Both
ROUNDDECIMAL ROUNDDECIMAL(val [, scale]) DOUBLE 지정 소수 자릿수로 반올림 Both
TRUNCATE TRUNCATE(val [, scale]) DOUBLE 지정 소수 자릿수로 절사 Both
DIV / DIVIDE DIV(a, b [, default]) DOUBLE 0으로 나누기에 대한 선택적 기본값이 있는 나눗셈 Both
INTDIV INTDIV(a, b) LONG 정수 나눗셈 Both
LEAST LEAST(a, b) DOUBLE 두 값 중 더 작은 값 Both
GREATEST GREATEST(a, b) DOUBLE 두 값 중 더 큰 값 Both
GCD GCD(a, b) LONG 최대공약수 Both
LCM LCM(a, b) LONG 최소공배수 Both
HYPOT HYPOT(a, b) DOUBLE 빗변 (sqrt(a^2 + b^2)) Both
NEGATE NEGATE(val) DOUBLE 값 부정; 단항 - 연산자와 동등 Both
SIGMOID SIGMOID(val) DOUBLE 로지스틱 시그모이드 1 / (1 + e^(-val)) Both
PI PI() DOUBLE 수학 상수 pi Both
E / EULER E() DOUBLE 자연로그의 밑인 오일러 수 Both
BITCOUNT BITCOUNT(val) INT long 값의 설정 비트 수 Both
FACTORIAL FACTORIAL(val) LONG 0부터 20까지 정수의 팩토리얼 Both
WIDTHBUCKET / WIDTH_BUCKET WIDTHBUCKET(value, lo, hi, numBuckets) INT SQL 표준 의미로 히스토그램 버킷에 값 할당 Both
RAND RAND([seed]) DOUBLE 0과 1 사이의 난수 Both
SIN SIN(val) DOUBLE 사인 Both
COS COS(val) DOUBLE 코사인 Both
TAN TAN(val) DOUBLE 탄젠트 Both
COT COT(val) DOUBLE 코탄젠트 Both
ASIN ASIN(val) DOUBLE 아크사인 Both
ACOS ACOS(val) DOUBLE 아크코사인 Both
ATAN ATAN(val) DOUBLE 아크탄젠트 Both
ATAN2 ATAN2(y, x) DOUBLE 두 인자 아크탄젠트 Both
ASINH ASINH(val) DOUBLE 역쌍곡사인 Both
ACOSH ACOSH(val) DOUBLE 역쌍곡코사인 Both
ATANH ATANH(val) DOUBLE 역쌍곡탄젠트 Both
DEGREES DEGREES(radians) DOUBLE 라디안을 도로 변환 Both
RADIANS RADIANS(degrees) DOUBLE 도를 라디안으로 변환 Both

날짜/시간 함수 (DateTime)

자세한 내용은 DateTime Functions를 참조하세요.

Function Signature Return Type Description Engine
NOW NOW() LONG 밀리초 단위 현재 타임스탬프 Both
AGO AGO('period') LONG 과거 기간의 타임스탬프 Both
TODATETIME TODATETIME(millis, pattern [, tz]) STRING epoch 밀리초를 포맷된 문자열로 변환 Both
FROMDATETIME FROMDATETIME(str, pattern [, tz]) LONG 날짜시간 문자열을 epoch 밀리초로 파싱 Both
TOEPOCHSECONDS TOEPOCHSECONDS(millis) LONG 밀리초를 epoch 초로 변환 Both
TOEPOCHMINUTES TOEPOCHMINUTES(millis) LONG 밀리초를 epoch 분으로 변환 Both
TOEPOCHHOURS TOEPOCHHOURS(millis) LONG 밀리초를 epoch 시간으로 변환 Both
TOEPOCHDAYS TOEPOCHDAYS(millis) LONG 밀리초를 epoch 일로 변환 Both
FROMEPOCHSECONDS FROMEPOCHSECONDS(seconds) LONG epoch 초를 밀리초로 변환 Both
FROMEPOCHMINUTES FROMEPOCHMINUTES(minutes) LONG epoch 분을 밀리초로 변환 Both
FROMEPOCHHOURS FROMEPOCHHOURS(hours) LONG epoch 시간을 밀리초로 변환 Both
FROMEPOCHDAYS FROMEPOCHDAYS(days) LONG epoch 일을 밀리초로 변환 Both
TOEPOCHSECONDSROUNDED TOEPOCHSECONDSROUNDED(millis, roundTo) LONG 밀리초를 반올림된 epoch 초로 변환 Both
TOEPOCHMINUTESROUNDED TOEPOCHMINUTESROUNDED(millis, roundTo) LONG 밀리초를 반올림된 epoch 분으로 변환 Both
TOEPOCHHOURSROUNDED TOEPOCHHOURSROUNDED(millis, roundTo) LONG 밀리초를 반올림된 epoch 시간으로 변환 Both
TOEPOCHSECONDSBUCKET TOEPOCHSECONDSBUCKET(millis, bucket) LONG 밀리초를 epoch 초 간격으로 버케팅 Both
FROMEPOCHSECONDSBUCKET FROMEPOCHSECONDSBUCKET(seconds, bucket) LONG 버케팅된 epoch 초를 밀리초로 변환 Both
DATETRUNC DATETRUNC(unit, timeVal [, inputUnit [, tz [, outputUnit]]]) LONG 지정 세분성으로 타임스탬프 절사 Both
DATEBIN DATEBIN(binWidth, sourceTs, originTs) TIMESTAMP 타임스탬프를 간격으로 버케팅 Both
TIMESTAMPADD / DATEADD TIMESTAMPADD(unit, interval, ts) LONG 타임스탬프에 간격 추가 Both
TIMESTAMPDIFF / DATEDIFF TIMESTAMPDIFF(unit, ts1, ts2) LONG 두 타임스탬프의 차이 Both
EXTRACT EXTRACT(field FROM ts) INT 타임스탬프에서 날짜/시간 필드 추출 Both
YEAR YEAR(millis [, tz]) INT 연도 추출 Both
QUARTER QUARTER(millis [, tz]) INT 분기(1-4) 추출 Both
MONTH MONTH(millis [, tz]) INT 월(1-12) 추출 Both
WEEK WEEK(millis [, tz]) INT ISO 연중 주 추출 Both
DAYOFYEAR DAYOFYEAR(millis [, tz]) INT 연중 일(1-366) 추출 Both
DAYOFMONTH / DAY DAYOFMONTH(millis [, tz]) INT 월중 일(1-31) 추출 Both
DAYOFWEEK / DOW DAYOFWEEK(millis [, tz]) INT 요일(1-7) 추출 Both
HOUR HOUR(millis [, tz]) INT 시간(0-23) 추출 Both
MINUTE MINUTE(millis [, tz]) INT 분(0-59) 추출 Both
SECOND SECOND(millis [, tz]) INT 초(0-59) 추출 Both
MILLISECOND MILLISECOND(millis [, tz]) INT 밀리초(0-999) 추출 Both
YEAROFWEEK YEAROFWEEK(millis [, tz]) INT ISO 연중 주의 연도 추출 Both
TIMEZONEHOUR TIMEZONEHOUR(tzId [, millis]) INT 시간대의 UTC 오프셋 시간 Both
TIMEZONEMINUTE TIMEZONEMINUTE(tzId [, millis]) INT 시간대의 UTC 오프셋 분 Both
TOTIMESTAMP TOTIMESTAMP(millis) TIMESTAMP 밀리초를 SQL Timestamp로 변환 Both
FROMTIMESTAMP FROMTIMESTAMP(ts) LONG SQL Timestamp를 밀리초로 변환 Both
DATETIMECONVERT DATETIMECONVERT(col, inFormat, outFormat, granularity) STRING/LONG 날짜시간을 형식 간 변환 Both

JSON 함수 (JSON)

자세한 내용은 JSON Functions를 참조하세요.

Function Signature Return Type Description Engine
JSONPATH JSONPATH(obj, path) OBJECT JSONPath 표현식 평가 Both
JSONEXTRACTOBJECT JSONEXTRACTOBJECT(obj) OBJECT JSON을 재사용 가능한 객체/배열 값으로 한 번 파싱 Both
JSONPATHSTRING JSONPATHSTRING(obj, path [, default]) STRING JSONPath를 통해 문자열 추출 Both
JSONPATHLONG JSONPATHLONG(obj, path [, default]) LONG JSONPath를 통해 long 추출 Both
JSONPATHDOUBLE JSONPATHDOUBLE(obj, path [, default]) DOUBLE JSONPath를 통해 double 추출 Both
JSONPATHARRAY JSONPATHARRAY(obj, path) OBJECT[] JSONPath를 통해 배열 추출 Both
JSONPATHARRAYDEFAULTEMPTY JSONPATHARRAYDEFAULTEMPTY(obj, path) OBJECT[] 배열 추출, null이면 빈 값 반환 Both
JSONPATHEXISTS JSONPATHEXISTS(obj, path) BOOLEAN JSONPath 존재 확인 Both
JSONKEYVALUEARRAYTOMAP JSONKEYVALUEARRAYTOMAP(arr [, keyColumnName, valueColumnName]) MAP 키/값 객체 배열을 맵으로 변환 Both
JSONEXTRACTKEY JSONEXTRACTKEY(obj, path) STRING[] JSONPath에서 키 추출 Both
JSONEXTRACTSCALAR JSONEXTRACTSCALAR(json, path, type [, default]) varies JSON에서 스칼라 값 추출 Both
JSONFORMAT JSONFORMAT(obj) STRING 객체를 JSON 문자열로 직렬화 Both
TOJSONMAPSTR TOJSONMAPSTR(map) STRING 맵을 JSON 문자열로 변환 Both
JSONSTRINGTOARRAY JSONSTRINGTOARRAY(jsonStr) LIST JSON 문자열을 배열로 파싱 Both
JSONSTRINGTOMAP JSONSTRINGTOMAP(jsonStr) MAP JSON 문자열을 맵으로 파싱 Both
ISJSON ISJSON(str) BOOLEAN 문자열이 유효한 JSON인지 확인 Both

배열 함수 (Array)

자세한 내용은 Array Functions를 참조하세요.

Function Signature Return Type Description Engine
ARRAY_AGG ARRAY_AGG(col, 'type' [, distinct]) ARRAY 값을 배열로 집계 Both
LISTAGG LISTAGG(col [, delimiter [, distinct]]) STRING 값을 구분된 문자열로 집계 Both
ARRAYLENGTH ARRAYLENGTH(arr) INT 배열 길이 반환 Both
ARRAYCONTAINSINT ARRAYCONTAINSINT(arr, val) BOOLEAN 정수 배열이 값 포함 확인 Both
ARRAYCONTAINSSTRING ARRAYCONTAINSSTRING(arr, val) BOOLEAN 문자열 배열이 값 포함 확인 Both
ARRAYCONCATINT ARRAYCONCATINT(arr1, arr2) INT[] 두 정수 배열 연결 Both
ARRAYCONCATSTRING ARRAYCONCATSTRING(arr1, arr2) STRING[] 두 문자열 배열 연결 Both
ARRAYDISTINCTINT ARRAYDISTINCTINT(arr) INT[] 정수 배열 중복 제거 Both
ARRAYDISTINCTSTRING ARRAYDISTINCTSTRING(arr) STRING[] 문자열 배열 중복 제거 Both
ARRAYINDEXOFINT ARRAYINDEXOFINT(arr, val) INT 정수 배열에서 값 인덱스 Both
ARRAYINDEXOFSTRING ARRAYINDEXOFSTRING(arr, val) INT 문자열 배열에서 값 인덱스 Both
ARRAYPUSHBACKINT ARRAYPUSHBACKINT(arr, val) INT[] 배열 끝에 정수 추가 Both
ARRAYPUSHBACKLONG ARRAYPUSHBACKLONG(arr, val) LONG[] 배열 끝에 long 추가 Both
ARRAYPUSHBACKFLOAT ARRAYPUSHBACKFLOAT(arr, val) FLOAT[] 배열 끝에 float 추가 Both
ARRAYPUSHBACKDOUBLE ARRAYPUSHBACKDOUBLE(arr, val) DOUBLE[] 배열 끝에 double 추가 Both
ARRAYPUSHBACKSTRING ARRAYPUSHBACKSTRING(arr, val) STRING[] 배열 끝에 문자열 추가 Both
ARRAYPUSHFRONTINT ARRAYPUSHFRONTINT(arr, val) INT[] 배열 앞에 정수 추가 Both
ARRAYPUSHFRONTLONG ARRAYPUSHFRONTLONG(arr, val) LONG[] 배열 앞에 long 추가 Both
ARRAYPUSHFRONTFLOAT ARRAYPUSHFRONTFLOAT(arr, val) FLOAT[] 배열 앞에 float 추가 Both
ARRAYPUSHFRONTDOUBLE ARRAYPUSHFRONTDOUBLE(arr, val) DOUBLE[] 배열 앞에 double 추가 Both
ARRAYPUSHFRONTSTRING ARRAYPUSHFRONTSTRING(arr, val) STRING[] 배열 앞에 문자열 추가 Both
ARRAYREMOVEINT ARRAYREMOVEINT(arr, val) INT[] 정수 배열에서 첫 발생 제거 Both
ARRAYREMOVESTRING ARRAYREMOVESTRING(arr, val) STRING[] 문자열 배열에서 첫 발생 제거 Both
ARRAYREVERSEINT ARRAYREVERSEINT(arr) INT[] 정수 배열 뒤집기 Both
ARRAYREVERSESTRING ARRAYREVERSESTRING(arr) STRING[] 문자열 배열 뒤집기 Both
ARRAYSLICEINT ARRAYSLICEINT(arr, start, end) INT[] 정수 배열에서 하위 배열 추출 Both
ARRAYSLICESTRING ARRAYSLICESTRING(arr, start, end) STRING[] 문자열 배열에서 하위 배열 추출 Both
ARRAYSORTINT ARRAYSORTINT(arr) INT[] 정수 배열 오름차순 정렬 Both
ARRAYSORTSTRING ARRAYSORTSTRING(arr) STRING[] 문자열 배열 오름차순 정렬 Both
ARRAYUNIONINT ARRAYUNIONINT(arr1, arr2) INT[] 두 정수 배열의 합집합(고유) Both
ARRAYUNIONSTRING ARRAYUNIONSTRING(arr1, arr2) STRING[] 두 문자열 배열의 합집합(고유) Both
ARRAYS_OVERLAP ARRAYS_OVERLAP(arr1, arr2) BOOLEAN 같은 유형 배열이 요소를 공유하면 true Both
ARRAYSUMINT ARRAYSUMINT(arr) INT 정수 배열 요소 합 Both
ARRAYSUMLONG ARRAYSUMLONG(arr) LONG long 배열 요소 합 Both
ARRAYTOSTRING ARRAYTOSTRING(arr, delimiter [, null]) STRING 문자열 배열 요소를 하나의 문자열로 결합 Both

해시 함수 (Hash)

자세한 내용은 Hash Functions를 참조하세요.

Function Signature Return Type Description Engine
SHA SHA(bytes) STRING SHA-1 해시 Both
SHA224 SHA224(bytes) STRING SHA-224 해시 Both
SHA256 SHA256(bytes) STRING SHA-256 해시 Both
SHA512 SHA512(bytes) STRING SHA-512 해시 Both
MD2 MD2(bytes) STRING MD2 해시 Both
MD5 MD5(bytes) STRING MD5 해시 Both
MURMURHASH2 MURMURHASH2(bytes) INT 32비트 MurmurHash2 Both
MURMURHASH2UTF8 MURMURHASH2UTF8(str) INT 문자열용 32비트 MurmurHash2 Both
MURMURHASH3BIT32 MURMURHASH3BIT32(bytes, seed) INT 32비트 MurmurHash3 Both
MURMURHASH3BIT64 MURMURHASH3BIT64(bytes, seed) LONG 64비트 MurmurHash3 Both
MURMURHASH3BIT128 MURMURHASH3BIT128(bytes, seed) BYTES 128비트 MurmurHash3 Both
CRC32 CRC32(bytes) INT 32비트 CRC 체크섬 Both
CRC32C CRC32C(bytes) INT 32비트 CRC32C (Castagnoli) Both
ADLER32 ADLER32(bytes) INT 32비트 Adler 체크섬 Both

URL 함수 (URL)

자세한 내용은 URL Functions를 참조하세요.

Function Signature Return Type Description Engine
URLPROTOCOL URLPROTOCOL(url) STRING 프로토콜/스킴 추출 Both
URLDOMAIN URLDOMAIN(url) STRING 도메인 추출 Both
URLDOMAINWITHOUTWWW URLDOMAINWITHOUTWWW(url) STRING www 접두사 없는 도메인 추출 Both
URLTOPLEVELDOMAIN URLTOPLEVELDOMAIN(url) STRING 최상위 도메인 추출 Both
URLPORT URLPORT(url) INT 포트 번호 추출 Both
URLPATH URLPATH(url) STRING 경로 구성요소 추출 Both
URLQUERYSTRING URLQUERYSTRING(url) STRING 쿼리 문자열 추출 Both
URLFRAGMENT URLFRAGMENT(url) STRING 조각 식별자 추출 Both
EXTRACTURLPARAMETER EXTRACTURLPARAMETER(url, name) STRING 특정 쿼리 파라미터 추출 Both
EXTRACTURLPARAMETERS EXTRACTURLPARAMETERS(url) STRING[] 모든 쿼리 파라미터 추출 Both
URLENCODE URLENCODE(url) STRING 문자열 URL 인코딩 Both
URLDECODE URLDECODE(url) STRING URL 인코딩된 문자열 디코딩 Both
CUTWWW CUTWWW(url) STRING URL에서 www 접두사 제거 Both
CUTQUERYSTRING CUTQUERYSTRING(url) STRING URL에서 쿼리 문자열 제거 Both
CUTFRAGMENT CUTFRAGMENT(url) STRING URL에서 조각 제거 Both
CUTURLPARAMETER CUTURLPARAMETER(url, name) STRING 특정 쿼리 파라미터 제거 Both

이진 함수 (Binary)

자세한 내용은 Binary Functions를 참조하세요.

Function Signature Return Type Description Engine
TOUTF8 TOUTF8(str) BYTES 문자열을 UTF-8 바이트로 변환 Both
FROMUTF8 FROMUTF8(bytes) STRING UTF-8 바이트를 문자열로 변환 Both
TOASCII TOASCII(str) BYTES 문자열을 ASCII 바이트로 변환 Both
FROMASCII FROMASCII(bytes) STRING ASCII 바이트를 문자열로 변환 Both
TOBASE64 TOBASE64(bytes) STRING 바이트를 Base64 문자열로 인코딩 Both
FROMBASE64 FROMBASE64(str) BYTES Base64 문자열을 바이트로 디코딩 Both
BASE64ENCODE BASE64ENCODE(bytes) BYTES 바이트 배열 Base64 인코딩 Both
BASE64DECODE BASE64DECODE(bytes) BYTES 바이트 배열 Base64 디코딩 Both
HEXTOBYTES HEXTOBYTES(hex) BYTES hex 문자열을 바이트로 변환 Both
BYTESTOHEX BYTESTOHEX(bytes) STRING 바이트를 hex 문자열로 변환 Both

지리 공간 함수 (Geospatial)

자세한 내용은 GeoSpatial Functions를 참조하세요.

Function Signature Return Type Description Engine
STPOINT STPOINT(lng, lat) BYTES 기하 point 생성 Both
STPOLYGON STPOLYGON(wkt) BYTES WKT에서 polygon 생성 Both
STDISTANCE STDISTANCE(geo1, geo2) DOUBLE 두 기하 간 거리 Both
STCONTAINS STCONTAINS(geo1, geo2) BOOLEAN 첫 기하가 둘째 포함 테스트 Both
STGEOMFROMTEXT STGEOMFROMTEXT(wkt) BYTES WKT에서 기하 생성 Both
STGEOMFROMWKB STGEOMFROMWKB(wkb) BYTES WKB에서 기하 생성 Both
STGEOMFROMGEOJSON STGEOMFROMGEOJSON(json) BYTES GeoJSON에서 기하 생성 Both
STGEOGFROMTEXT STGEOGFROMTEXT(wkt) BYTES WKT에서 geograph 생성 Both
STGEOGFROMWKB STGEOGFROMWKB(wkb) BYTES WKB에서 geography 생성 Both
STGEOGFROMGEOJSON STGEOGFROMGEOJSON(json) BYTES GeoJSON에서 geography 생성 Both
STASTEXT STASTEXT(geo) STRING 기하를 WKT로 변환 Both
STASBINARY STASBINARY(geo) BYTES 기하를 WKB로 변환 Both
STASGEOJSON STASGEOJSON(geo) STRING 기하를 GeoJSON으로 변환 Both
STGEOMETRYTYPE STGEOMETRYTYPE(geo) STRING 기하 유형 반환 Both
TOSPHERICALGEOGRAPHY TOSPHERICALGEOGRAPHY(geo) BYTES 기하를 구형 geography로 변환 Both
GridDistance gridDistance(h3Index1, h3Index2) LONG 두 셀 사이의 H3 그리드 거리 Both
GridDisk gridDisk(h3Index, k) LONG[] 중심 셀의 k 그리드 단계 안의 H3 셀 Both
IDSET IDSET(col [, params]) BYTES IN_ID_SET 필터에 사용할 직렬화된 IdSet Both
STUNION STUNION(geoCol) BYTES 집계: 기하의 합집합 Both

벡터 / 유사도 함수 (Vector / Similarity)

자세한 내용은 Vector Functions를 참조하세요.

Function Signature Return Type Description Engine
COSINEDISTANCE COSINEDISTANCE(arr1, arr2) DOUBLE 두 벡터 간 코사인 거리 Both
INNERPRODUCT INNERPRODUCT(arr1, arr2) DOUBLE 두 벡터의 내적 Both
L1DISTANCE L1DISTANCE(arr1, arr2) DOUBLE 두 벡터 간 맨해튼 거리 Both
L2DISTANCE L2DISTANCE(arr1, arr2) DOUBLE 두 벡터 간 유클리드 거리 Both
VECTORDIMS VECTORDIMS(arr) INT 벡터의 차원 수 Both
VECTORNORM VECTORNORM(arr) DOUBLE 벡터의 L2 노름(크기) Both

IP 주소 함수 (IP Address)

자세한 내용은 IP Address Functions를 참조하세요.

Function Signature Return Type Description Engine
ISSUBNETOF ISSUBNETOF(prefix, addr) BOOLEAN IP 주소가 서브넷에 있는지 확인 Both
IPPREFIX IPPREFIX(addr, prefixLen) STRING IP 주소에 대한 CIDR 접두사 반환 Both
IPSUBNETMIN IPSUBNETMIN(prefix) STRING 서브넷의 가장 낮은 IP 반환 Both
IPSUBNETMAX IPSUBNETMAX(prefix) STRING 서브넷의 가장 높은 IP 반환 Both
ISIPV4STRING ISIPV4STRING(ip) BOOLEAN 입력이 일반 IPv4 주소 문자열인지 확인 Both
ISIPV6STRING ISIPV6STRING(ip) BOOLEAN 입력이 일반 IPv6 주소 문자열인지 확인 Both
ISPRIVATEIP / IS_PRIVATE_IP ISPRIVATEIP(ip) BOOLEAN 일반 IP가 RFC 1918, loopback, link-local, IPv6 ULA 범위인지 확인 Both
IPFAMILY / IP_FAMILY IPFAMILY(ip) INT IPv4면 4, IPv6면 6 반환 Both
IPV4TOLONG IPV4TOLONG(ip) LONG IPv4 문자열을 부호 없는 32비트 long으로 변환 Both
LONGTOIPV4 LONGTOIPV4(value) STRING 부호 없는 32비트 long을 IPv4 텍스트로 변환 Both
IPV6TOBYTES IPV6TOBYTES(ip) BYTES IPv6 문자열을 16바이트 값으로 변환 Both
BYTESTOIPV6 BYTESTOIPV6(bytes) STRING 16바이트 IPv6 값을 정규 텍스트로 변환 Both
IPV4TOIPV6 IPV4TOIPV6(ip) STRING IPv4 문자열을 IPv4-mapped IPv6 형태로 변환 Both
IPMASKLEN / IP_MASK_LEN IPMASKLEN(cidr) INT CIDR 문자열에서 접두사 길이 반환 Both
IPNETMASK / IP_NETMASK IPNETMASK(cidr) STRING CIDR 접두사에 대한 네트워크 마스크 반환 Both
IPHOSTMASK / IP_HOSTMASK IPHOSTMASK(cidr) STRING CIDR 접두사에 대한 호스트 마스크 반환 Both
IPV4CIDRTORANGE IPV4CIDRTORANGE(cidr) STRING[] CIDR 범위의 하한 및 상한 IPv4 주소 반환 Both

Null 처리 함수 (Null Handling)

자세한 내용은 Null Handling Functions를 참조하세요.

Function Signature Return Type Description Engine
IS NULL col IS NULL BOOLEAN 값이 null이면 true Both
IS NOT NULL col IS NOT NULL BOOLEAN 값이 null이 아니면 true Both
COALESCE COALESCE(val1, val2, ...) varies 첫 비-null 값 반환 Both
NULLIF NULLIF(val1, val2) varies 값이 같으면 null 반환 Both
IS DISTINCT FROM a IS DISTINCT FROM b BOOLEAN Null 안전 부등 비교 Both
IS NOT DISTINCT FROM a IS NOT DISTINCT FROM b BOOLEAN Null 안전 동등 비교 Both
CASE WHEN CASE WHEN cond THEN val ... END varies 조건부 표현식 Both

유형 변환 함수 (Type Conversion)

자세한 내용은 Type Conversion Functions를 참조하세요.

Function Signature Return Type Description Engine
CAST CAST(val AS type) varies 값을 지정 유형으로 변환 Both
BIGDECIMALTOBYTES BIGDECIMALTOBYTES(decimal) BYTES BigDecimal을 바이트로 변환 Both
BYTESTOBIGDECIMAL BYTESTOBIGDECIMAL(bytes) BIGDECIMAL 바이트를 BigDecimal로 변환 Both
HEXDECIMALTOLONG HEXDECIMALTOLONG(hex) LONG hex 문자열을 long으로 변환 Both
LONGTOHEXDECIMAL LONGTOHEXDECIMAL(val) STRING long을 hex 문자열로 변환 Both
TOUUIDBYTES TOUUIDBYTES(uuid) BYTES UUID 문자열을 바이트로 변환 Both
FROMUUIDBYTES FROMUUIDBYTES(bytes) STRING 바이트를 UUID 문자열로 변환 Both

Window 함수 (Window)

자세한 내용은 Window Functions를 참조하세요.

Window 함수는 multi-stage engine (MSE)이 필요해요.

Function Signature Return Type Description Engine
ROW_NUMBER ROW_NUMBER() OVER (...) LONG 파티션 내 순차적 행 번호 MSE
RANK RANK() OVER (...) LONG 동률에 갭이 있는 순위 MSE
DENSE_RANK DENSE_RANK() OVER (...) LONG 동률에 갭이 없는 순위 MSE
LAG LAG(col [, offset [, default]]) [IGNORE NULLS | RESPECT NULLS] OVER (...) varies 선행 행의 값 MSE
LEAD LEAD(col [, offset [, default]]) [IGNORE NULLS | RESPECT NULLS] OVER (...) varies 후행 행의 값 MSE
FIRST_VALUE FIRST_VALUE(col) OVER (...) varies window 프레임의 첫 값 MSE
LAST_VALUE LAST_VALUE(col) OVER (...) varies window 프레임의 마지막 값 MSE
SUM SUM(col) OVER (...) DOUBLE 실행/윈도우 합 MSE
AVG AVG(col) OVER (...) DOUBLE 실행/윈도우 평균 MSE
MIN MIN(col) OVER (...) DOUBLE 실행/윈도우 최소 MSE
MAX MAX(col) OVER (...) DOUBLE 실행/윈도우 최대 MSE
COUNT COUNT(col) OVER (...) LONG 실행/윈도우 카운트 MSE
BOOL_AND BOOL_AND(col) OVER (...) BOOLEAN 윈도우 boolean AND MSE
BOOL_OR BOOL_OR(col) OVER (...) BOOLEAN 윈도우 boolean OR MSE

더 알아보기 (Learn more)