다음을 통해 공유


사용자 지정 계산 함수 참조

이 페이지에서는 AI/BI 대시보드에서 사용자 지정 계산에 대해 지원되는 모든 함수에 대한 전체 참조를 제공합니다. 사용자 지정 계산을 사용하는 방법에 대한 자세한 내용은 사용자 지정 계산이란?을 참조하세요.

집계 함수

계산된 모든 측정값을 집계해야 합니다. 지원되는 집계 작업은 다음과 같습니다.

비고

집계 함수에서 DISTINCT 키워드를 사용하여 집계에 고유 값만 포함합니다. 또한 계산에 FILTER(WHERE condition) 포함된 값을 제한하기 위해 모든 집계 함수에 절을 추가할 수 있습니다.

기능 Description
any(expr) true를 반환합니다. 그룹의 expr 중 적어도 하나의 값이 true인 경우에.
임의_값(expr) expr에 대한 행 그룹의 일부 값을 반환합니다.
approx_count_distinct(expr[, relativeSD]) expr에서 고유 값의 예상 수를 반환합니다.
approx_percentile([ALL | DISTINCT] expr, 백분위수 [, 정확도]) 지정된 백분위수의 expr 대략적인 백분위수 값을 반환합니다.
avg(expr) 열 또는 식에서 계산된 평균을 반환합니다.
bool_or(expr) 적어도 하나의 true 값이 expr인 경우 true를 반환합니다.
corr(expr1, expr2) expr1expr2 사이의 Pearson 상관 계수를 반환합니다.
count(*) 그룹의 행 수를 반환합니다.
고유한 expr의 개수 그룹의 고유 행 수를 반환합니다.
count_if(expr) 지정된 조건을 충족하는 행 수를 반환합니다.
first(expr [, ignoreNull]) expr의 첫 번째 값을 그룹 내에서 반환합니다.
first_value(expr [, ignoreNull]) expr의 첫 번째 값을 그룹 내에서 반환합니다.
last(expr [, ignoreNull]) 그룹의 expr에 대한 마지막 값을 반환합니다.
최종_값(expr [, ignoreNull]) 그룹의 expr에 대한 마지막 값을 반환합니다.
listagg(expr [, delimiter]) 그룹에서 null이 아닌 값의 연결을 반환합니다.
max(expr) 열 또는 식의 최대값을 반환합니다.
max_by(expr1, expr2) 최대값 expr1와 연결된 expr2의 값을 반환합니다.
mean(expr) 열 또는 식에서 계산된 평균을 반환합니다.
median(expr) 값 집합의 중앙값을 반환합니다.
min(expr) 열 또는 식의 최소값을 반환합니다.
min_by(expr1, expr2) expr1의 최소값과 연결된 expr2의 값을 반환합니다.
mode(expr [, 결정론적 ]) 에 대한 가장 빈번한 값을 반환합니다 expr.
백분위수(expr, percentage [, frequency]) 그룹의 지정된 백분위수에 있는 정확한 백분위수 값을 expr 반환합니다.
percentile_approx(표현식, 퍼센티지 [, 정확도]) 지정된 백분위수의 expr 대략적인 백분위수 값을 반환합니다.
regr_slope(y, x) 그룹의 null이 아닌 쌍에 대한 선형 회귀선의 기울기를 반환합니다.
some(expr) true를 반환합니다. 그룹의 expr 중 적어도 하나의 값이 true인 경우에.
std(expr) 값 집합의 표준 편차를 반환합니다.
stddev(expr) 값 집합의 표준 편차를 반환합니다.
stddev_pop(expr) 값 집합의 모집단 표준 편차를 반환합니다.
stddev_samp(expr) 값 집합의 샘플 표준 편차를 반환합니다.
string_agg(expr [, 구분 기호]) 그룹에서 null이 아닌 문자열 값의 연결을 반환합니다.
sum(expr) 열 또는 식의 값 합계를 반환합니다.
variance(expr) 값 집합의 분산을 반환합니다.

산술 연산

식을 다음 산술 연산과 결합할 수 있습니다.

수술 Description
expr1 % expr2 expr1을(를) expr2로 나눈 나머지를 반환합니다.
곱하는 수 * 곱해지는 수 두 식의 곱을 반환합니다.
expr1 + expr2 expr1expr2의 합계를 반환합니다.
+ expr 식의 값을 반환합니다.
expr1 - expr2 expr2 expr1 뺄 때의 차이를 반환합니다.
- expr 식의 값을 부정하여 반환합니다.
배당금 / 나눗셈 수 배당을 수표로 나눈 결과를 반환합니다.
배당수수 dividenddivisor로 나눈 몫의 정수 부분을 반환합니다.
abs(expr) 숫자 식의 절대값을 반환합니다.
acos(expr) expr의 아크 코사인(역 코사인)을 반환합니다.
asin(expr) 의 역 사인(아크 사인)을 반환합니다 expr.
bround(expr [, d]) HALF_EVEN 반올림 모드를 사용하여 expr을(를) 소수 점 d 자리까지 반올림합니다.
ceil(expr) 또는 ceiling(expr) 보다 작지 않은 expr가장 작은 정수 값을 반환합니다.
cos(expr) 의 코사인을 반환합니다 expr.
exp(expr) e의 거듭제곱 expr을 반환합니다.
floor(expr) 입력값 expr보다 작거나 같은 최대 정수를 반환합니다.
ln(expr) 식의 자연 로그를 반환합니다.
log(base, expr) 지정된 expr.의 base 로그를 반환합니다.
log10(expr) 식의 base-10 로그를 반환합니다.
mod(expr1, expr2) expr1을(를) expr2로 나눈 나머지를 반환합니다.
nullifzero(expr) NULL가 0일 경우 expr를 반환하고, 그렇지 않으면 expr를 반환합니다.
pi() pi 값을 반환합니다.
pmod(expr1, expr2) expr1 mod expr2의 양수 값을 반환합니다.
pow(expr1, expr2) 또는 power(expr1, expr2) expr1expr2 거듭제곱 결과를 반환합니다.
radians(expr) 도를 라디안으로 변환합니다.
rand([seed]) 범위가 0(포함)에서 1(배타적)인 균일한 분포의 임의 값을 반환합니다.
round(expr [, d]) HALF_UP 반올림 모드를 사용하여 소수 자릿수로 반올림 expr 된 위치를 반환 d 합니다.
sign(expr) 숫자 식의 부호를 반환합니다.
sin(expr) expr의 사인 값을 반환합니다.
sqrt(expr) 의 제곱근을 반환합니다 expr.
try_add(expr1, expr2) 두 값을 추가합니다. 오류가 발생하면 NULL반환합니다.
try_divide(배당금, 수수) 배당수를 나누는 수로 나눕니다. 오류가 발생하면 NULL반환합니다.
try_multiply(승수, 피승수) 두 숫자를 곱합니다. 오류가 발생하면 NULL반환합니다.
try_subtract(expr1, expr2) expr2expr1에서 뺍니다. 오류가 발생하면 NULL반환합니다.
zeroifnull(expr) expr이(가) NULL이면 0을 반환하고, 그렇지 않으면 expr을(를) 반환합니다.

부울 함수 및 연산자

사용자 지정 계산은 기본 비교 및 부울 연산자를 지원합니다. 지원되는 연산자와 함수는 다음과 같습니다.

수술 Description
expr1 != expr2 trueexpr1와 같지 않으면 expr2을 반환합니다.
!expr 논리적이지 않습니다.
expr1 & expr2 expr1expr2의 비트 AND 연산을 반환합니다.
expr1 &&expr2 trueexpr1expr2인 경우 true를 반환합니다.
expr1 <=> expr2 null이 아닌 피연산자에 대해 동등 연산자와 동일한 결과를 반환합니다. 하지만 둘 다 true일 경우 null을 반환하고, 하나가 false일 경우 null을 반환합니다.
expr1 <> expr2 trueexpr1와 같지 않으면 expr2을 반환합니다.
expr1 < expr2 true이/가 expr1보다 작으면 expr2을 반환합니다.
expr1 <= expr2 trueexpr1보다 작거나 같은 경우 expr2를 반환합니다.
expr1 = expr2 true이(가) expr1와 같으면 expr2을 반환합니다.
expr1 == expr2 true이(가) expr1와 같으면 expr2을 반환합니다.
expr1 > expr2 trueexpr1expr2보다 큰 경우 반환합니다.
expr1 >= expr2 trueexpr1보다 크거나 같으면 expr2를 반환합니다.
expr1 ^ expr2 expr1expr2의 비트 수준의 배타적 OR를 반환합니다.
expr1 | expr2 expr1expr2의 비트 OR을 반환합니다.
expr1 || expr2 true을 반환합니다. expr1 또는 expr2 중 하나 이상이 true인 경우에.
~expr expr의 비트 NOT 연산 결과를 반환합니다.
expr1 및 expr2 trueexpr1expr2인 경우 true를 반환합니다.
expr가 하한과 상한 사이에 있음 지정된 범위(특수 구문)에 속하는지 여부를 expr 테스트합니다.
str ilike 패턴 truestrpattern와 일치할 경우 반환됩니다 (대/소문자를 구분하지 않습니다). 로도 사용할 ilike(str, pattern [, escapeChar])수 있습니다.
expr in (value1, value2, ...) 특수 구문을 사용하여 expr가 목록의 값 중 하나와 일치하는지 테스트합니다.
isnan(expr) NaN(숫자가 아님)이면 trueexpr을 반환합니다.
isnotnull(expr) trueexpr이 아니면 NULL를 반환합니다.
isnull(expr) 만약 trueexpr이면 NULL을 반환합니다.
str 유사 패턴 truestr와 일치하는 경우 pattern을 반환합니다. 로도 사용할 like(str, pattern [, escapeChar])수 있습니다.
not expr 논리 부정 (접두사 연산자) 로도 사용할 not(expr)수 있습니다.
expr1 또는 expr2 true을 반환합니다. expr1 또는 expr2 중 하나 이상이 true인 경우에.
str regexp regexp true가 정규 표현식 str과 일치하는 경우 regexp을 반환합니다.
regexp_like(str, regexp) true가 정규 표현식 str과 일치하는 경우 regexp을 반환합니다.
str rlike regexp true가 정규 표현식 str과 일치하는 경우 regexp을 반환합니다.

캐스트 함수

다음 함수를 사용하여 값을 지정된 형식으로 캐스팅합니다.

기능 Description
expr :: type expr을 대상 데이터 형식 type으로 캐스트합니다.
bigint(expr) exprBIGINT로 캐스팅합니다.
boolean(expr) exprBOOLEAN로 캐스팅합니다.
cast(expr AS type) expr을 대상 데이터 형식 type으로 캐스트합니다.
date(expr) exprDATE로 캐스팅합니다.
decimal(expr [, p [, s]]) 값을 expr에서 전체 자릿수 DECIMAL 및 배율 p로 캐스트합니다.
double(expr) exprDOUBLE로 캐스팅합니다.
float(expr) exprFLOAT로 캐스팅합니다.
int(expr) exprINT로 캐스팅합니다.
string(expr) exprSTRING로 캐스팅합니다.
timestamp(expr) exprTIMESTAMP로 캐스팅합니다.
to_date(expr [, fmt]) expr 값을 fmt 날짜로 변환합니다.
to_timestamp(expr [, fmt]) exprfmt과 함께 타임스탬프로 변환합니다.
try_cast(expr AS 타입) expr 값을 type 대상 데이터 형식으로 안전하게 캐스팅합니다.
try_to_timestamp(expr [, fmt]) exprfmt와 함께 안전하게 타임스탬프로 구문 분석합니다.

날짜, 타임스탬프 및 간격 함수

날짜, 타임스탬프 및 간격을 사용하려면 다음 함수를 사용합니다.

기능 Description
add_months(시작일, 월 수) 이후의 날짜를 반환합니다 num_monthsstart_date.
curdate() 현재 날짜를 반환합니다.
current_date() 현재 날짜를 반환합니다.
current_timestamp() 현재 타임스탬프를 반환합니다.
current_timezone() 현재 세션 현지 표준 시간대를 반환합니다.
date_add(start_date, num_days) 이후의 날짜를 반환합니다 num_daysstart_date.
date_diff(endDate, startDate) startDate에서 endDate까지의 일 수를 반환합니다.
date_format(expr, fmt) 타임스탬프를 fmt형식의 문자열로 변환합니다.
날짜_부분(필드, 소스) 날짜 또는 타임스탬프에서 연도, 월 또는 일과 같은 특정 부분을 추출합니다.
date_sub(start_date, num_days) num_daysstart_date 전 날짜를 반환합니다.
date_trunc(fmt, source) 날짜 또는 타임스탬프를 연도 또는 월과 같은 지정된 단위로 자립니다.
dateadd(unit, value, expr) (날짜 더하기 함수) 날짜 또는 타임스탬프에 지정된 시간 간격을 추가합니다.
datediff(endDate, startDate) startDate에서 endDate까지의 일 수를 반환합니다.
day(expr) 날짜 또는 타임스탬프에서 월 중 하루를 반환합니다.
dayname(expr) 날짜 또는 타임스탬프에서 요일의 이름을 반환합니다.
dayofmonth(expr) 날짜 또는 타임스탬프에서 월 중 하루를 반환합니다.
dayofweek(expr) 날짜 또는 타임스탬프(1 = 일요일, 7 = 토요일)에서 요일을 반환합니다.
dayofyear(expr) 날짜 또는 타임스탬프에서 해당 연도의 날짜를 반환합니다.
소스에서 필드를 추출 날짜 또는 타임스탬프의 일부를 추출합니다.
from_unixtime(unix_time [, fmt]) 초 수를 Unix epoch에서 타임스탬프로 변환합니다.
from_utc_timestamp(타임스탬프, 표준 시간대) 지정된 타임스탬프를 UTC로 해석하고 지정된 표준 시간대로 변환합니다.
getdate() 현재 타임스탬프를 반환합니다.
hour(expr) 타임스탬프의 시간 구성 요소를 반환합니다.
last_day(expr) 날짜 또는 타임스탬프가 속한 월의 마지막 날을 반환합니다.
make_date(연도, 월, 일) 연도, 월 및 일 필드의 날짜를 만듭니다.
make_timestamp(year, month, day, hour, min, sec [, timezone]) 연도, 월, 일, 시간, 분, 초 및 선택적으로 표준 시간대 필드의 타임스탬프를 만듭니다.
minute(expr) 타임스탬프의 분 구성 요소를 반환합니다.
month(expr) 날짜 또는 타임스탬프의 월 구성 요소를 반환합니다.
months_between(timestamp1, timestamp2 [, roundOff]) timestamp1timestamp2 사이의 개월 수를 반환합니다.
next_day(start_date, day_of_week) start_date 이후이며 day_of_week로 지정된 첫 번째 날짜를 반환합니다.
now() 현재 타임스탬프를 반환합니다.
quarter(expr) 날짜 또는 타임스탬프(1~4)의 연도 분기를 반환합니다.
second(expr) 타임스탬프의 두 번째 구성 요소를 반환합니다.
timediff(endDate, startDate) 단위로 측정된 두 타임스탬프 간의 차이를 반환합니다.
timestamp_micros(마이크로초) Unix epoch 이후의 마이크로초 수에서 타임스탬프를 만듭니다.
timestamp_millis(밀리초) Unix epoch로부터의 밀리초를 사용해 타임스탬프를 생성합니다.
timestamp_seconds(초) Unix epoch 이후의 초 단위 시간을 사용하여 타임스탬프를 생성합니다.
timestampadd(단위, 값, 타임스탬프) 타임스탬프에 지정된 시간 간격을 추가합니다.
timestampdiff(단위, 시작, 종료) 단위로 측정된 두 타임스탬프 간의 차이를 반환합니다.
to_date(expr [, fmt]) expr 값을 fmt 날짜로 변환합니다.
to_timestamp(expr [, fmt]) exprfmt과 함께 타임스탬프로 변환합니다.
to_unix_timestamp(expr [, fmt]) 지정된 시간의 Unix 타임스탬프를 반환합니다.
to_utc_timestamp(타임스탬프, 시간대) 지정된 표준 시간대에서 지정된 타임스탬프를 해석하고 UTC로 변환합니다.
trunc(expr, fmt) expr 서식 모델fmt에서 지정한 단위로 잘린 일의 시간 부분을 반환합니다.
unix_micros(타임스탬프) Unix epoch 이후의 마이크로초 수를 반환합니다.
unix_millis(타임스탬프) Unix epoch 이후의 시간(밀리초)을 반환합니다.
unix_seconds(타임스탬프) Unix epoch 이후의 시간(초)을 반환합니다.
unix_timestamp([expr [, fmt]]) 지정된 시간의 Unix 타임스탬프를 반환합니다.
weekday(expr) 날짜 또는 타임스탬프(0 = 월요일, 6 = 일요일)에서 요일을 반환합니다.
weekofyear(expr) 날짜 또는 타임스탬프에서 연도의 주를 반환합니다.
year(expr) 날짜 또는 타임스탬프의 연도 구성 요소를 반환합니다.

문자열 함수

다음 함수를 사용하여 문자열을 변환합니다. 날짜/시간 문자열을 변환하려면 캐스트 함수를 참조하세요.

기능 Description
base64(expr) 인수를 base64 문자열로 변환합니다.
char(expr) 제공된 UTF-16 코드 포인트의 문자를 반환합니다.
charindex(substr, str [, pos]) substr 위치 이후에 str에서 pos가 처음 발생하는 위치를 반환합니다.
concat(expr1, expr2 [, ...]) 인수의 연결을 반환합니다.
concat_ws(sep [, expr1 [, ...]]) 로 구분된 sep문자열의 연결을 반환합니다.
contains(왼쪽, 오른쪽) true에서 right을(를) 찾으면 left을(를) 반환합니다.
convert_timezone(sourceTz, targetTz, sourceTs) 타임스탬프 sourceTssourceTz 시간대에서 targetTz 시간대로 변환합니다.
decode(expr, charSet) 문자 집합 인코딩을 사용하여 이진 파일을 expr 문자열로 변환합니다 charSet.
endswith(왼쪽, 오른쪽) trueleft으로 끝나면 right을(를) 반환합니다.
find_in_set(str, str_array) (집합에서 찾기 함수) 쉼표로 구분된 목록에서 지정된 문자열의 인덱스(1부터)를 반환합니다.
숫자_포맷(expr, scale) 소수점 아래 expr 자리까지 반올림하여 #,###,###.##scale처럼 형식화합니다.
format_string(format, expr [, ...]) printf 스타일 형식 문자열에서 서식이 지정된 문자열을 반환합니다.
hex(expr) expr 16진수로 변환합니다.
initcap(str) str 각 단어의 첫 글자를 대문자로 반환합니다.
instr(str, substr) substr에서 str의 첫 번째 발생 위치를 반환합니다.
lcase(str) str 모든 문자가 소문자로 변경된 값을 반환합니다.
left(str, len) 문자열len에서 맨 str 왼쪽 문자를 반환합니다.
len(expr) 문자열 또는 이진 식의 길이를 반환합니다.
length(expr) 문자열 또는 이진 식의 길이를 반환합니다.
levenshtein(str1, str2 [, threshold]) 지정된 두 문자열 사이의 Levenshtein 거리를 반환합니다.
locate(substr, str [, pos]) substr 위치 이후에 str에서 pos가 처음 발생하는 위치를 반환합니다.
lower(str) str 모든 문자가 소문자로 변경된 값을 반환합니다.
lpad(str, len [, pad]) str을(를) pad로 왼쪽에 채워서 길이가 len가 되도록 반환합니다.
ltrim(str [, trimStr]) str에서 앞의 문자를 제거합니다.
md5(expr) MD5 128비트 체크섬을 16진수 문자열로 반환합니다.
parse_url(url, partToExtract [, key]) 에서 url파트를 추출합니다.
position(substr, str [, pos]) substr 위치 이후에 str에서 pos가 처음 발생하는 위치를 반환합니다.
printf(format, expr [, ...]) printf 스타일 형식 문자열에서 서식이 지정된 문자열을 반환합니다.
regexp_count(str, regexp) 정규식 regexp 이 일치하는 횟수를 반환합니다.str
regexp_extract(str, regexp [, idx]) 일치하는 regexp그룹을 추출합니다.
regexp_instr(str, regexp) regexp에서 str의 첫 번째 일치 항목의 위치를 반환합니다.
regexp_replace(str, regexp, rep [, position]) strregexp와 일치하는 모든 부분 문자열을 rep로 대체합니다.
regexp_substr(str, regexp) 에서 정규식 regexpstr과 일치하는 부분 문자열을 반환합니다.
repeat(str, n) 지정된 횟수만큼 문자열을 반복하여 반환합니다 strn.
replace(문자열, 검색 [, 대체]) search에서 replace의 모든 발생을 str로 바꿉니다.
reverse(str) 문자의 순서를 반대로 하여 str를 반환합니다.
right(str, len) 문자열len에서 맨 str 오른쪽 문자를 반환합니다.
rtrim([trimStr,] str) 후행 문자가 제거된 상태에서 반환 str 합니다.
sha2(expr, bitLength) 해시 함수의 SHA-2 패밀리를 반환합니다.
split_part(str, delimiter, partNum) str을(를) delimiter로 분할하여 요청한 부분을 반환합니다.
startswith(왼쪽, 오른쪽) trueleft로 시작하는 경우 right을 반환합니다.
substr(str, pos [, len]) str에서 시작하는 길이가 poslen의 부분 문자열을 반환합니다.
substring(str, pos [, len]) str에서 시작하는 길이가 poslen의 부분 문자열을 반환합니다.
substring_index(str, delim, count) count가 발생하기 전에 delim 문자열의 일부를 반환합니다.
to_char(expr [, fmt]) 문자열로 변환합니다 expr .
to_number(expr [, fmt]) 문자열 expr 을 숫자로 변환합니다.
번역(입력, 출발어, 도착어) input 에서 문자를 해당 문자 from 로 바꿔서 변환합니다to.
trim(str [, trimStr]) str의 앞과 뒤의 문자를 제거합니다.
ucase(str) str 모든 문자가 대문자로 변경된 값을 반환합니다.
upper(str) str 모든 문자가 대문자로 변경된 값을 반환합니다.
url_encode(str) URL 쿼리 매개 변수에 사용할 인코딩 str

기타 함수

다음 함수도 지원됩니다.

기능 Description
데이터 집계 측정값에 대한 시간 범위 또는 다른 순서가 지정된 집합의 값을 계산합니다.
CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] 끝 resN과 같은 첫 번째 optN에 대해 expr을 반환하거나 일치하는 항목이 없으면 def를 반환합니다.
CASE { WHEN cond1 THEN res1 } [...] [ELSE def] 끝 처음 resN이 true로 평가되면 condN를 반환하고, 그렇지 않으면 def를 반환합니다.
coalesce(expr1, expr2 [, ...]) Null이 아닌 첫 번째 인수를 반환합니다.
decode(expr, search, result [, search, result]... [, 기본값]) expr 각 검색 값과 비교하여 해당 결과를 반환합니다.
get_json_object(json_txt, 경로) 지정된 json_txt위치에서 JSON 개체 path 를 추출합니다.
greatest(expr [, ...]) 모든 매개 변수의 가장 큰 값을 반환합니다.
hash(expr1 [, expr2 ...]) 인수의 해시 값을 반환합니다.
if(condition, true_value, false_value) true_valuecondition이면 true를 반환하고, 그렇지 않으면 false_value를 반환합니다.
iff(조건, 참_값, 거짓_값) - 주어진 조건이 참이면 참_값을 반환하고, 거짓이면 거짓_값을 반환합니다. true_valuecondition이면 true를 반환하고, 그렇지 않으면 false_value를 반환합니다.
ifnull(expr1, expr2) expr2expr1인 경우 null를 반환하거나 그렇지 않으면 expr1을 반환합니다.
json_array_length(jsonArray) 가장 바깥쪽 JSON 배열의 요소 수를 반환합니다.
least(expr [, ...]) 모든 매개 변수의 최소 값을 반환합니다.
monotonically_increasing_id() 단조로 증가하는 64비트 정수 값을 반환합니다.
nullif(expr1, expr2) NULLexpr1와 같으면 expr2을 반환하고, 그렇지 않으면 expr1을 반환합니다.
nvl(expr1, expr2) expr2expr1인 경우 NULL를 반환하거나 그렇지 않으면 expr1을 반환합니다.
nvl2(expr1, expr2, expr3) expr2expr1이(가) 아니면 NULL을(를) 반환하고, 그렇지 않으면 expr3을(를) 반환합니다.
schema_of_json(json [, options]) JSON 문자열의 DDL 형식으로 스키마를 반환합니다.