표현식 함수
마지막 업데이트: 2026. 10. 27.식을 작성할 때 함수를 사용하여 행 값을 변환하거나, 누락된 데이터를 처리하거나, 관련 값을 가져올 수 있습니다.자세한 내용은 표현식 작성을 참조하십시오.
아래 함수는 SaaS 관리형 랜딩, 레이크 랜딩 및 복제 작업의 이동 작업 표현식을 설명합니다.에디터에 표시된 함수 시그니처를 사용하세요.시그니처의 대괄호는 선택적 인수를 나타내며, 대괄호는 입력하지 마십시오.
CDC Storage 및 Streaming Transform 기능에 대한 자세한 내용은 변환 함수을(를) 참조하세요.클라우드 데이터 플랫폼에서 실행되는 스토리지, 변환 및 데이터 마트 표현식에는 해당 플랫폼의 함수 구문을 사용하십시오.
문자열 함수
접두사 및 접미사 함수는 문자열의 시작 또는 끝에서 작동합니다.문자 대체는 전체 접두사 또는 접미사를 일치시키는 대신 개별 문자에 적용됩니다.
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$CONCAT(X, Y)
|
두 문자열 X 및 Y를 해당 순서대로 연결합니다.어느 한 인수라도 NULL이면 NULL을 반환합니다.3개 이상의 문자열을 결합하려면 호출을 중첩하세요. |
$CONCAT('My', 'Picture')은(는) 'MyPicture'을(를) 반환합니다.$CONCAT('My', NULL)은(는) NULL을 반환합니다. |
$INSTR(string, substring)
|
string에서 substring이(가) 처음 나타나는 1부터 시작하는 위치를 반환합니다.부분 문자열을 찾을 수 없는 경우 0을 반환합니다. |
$INSTR('mystring', 'ing')은(는) 6을(를) 반환합니다.$INSTR('mystring', 'xyz')은(는) 0을(를) 반환합니다. |
$LENGTH(string)
|
string의 바이트 단위 크기가 아닌 문자 수를 반환합니다. |
$LENGTH('mystring')은(는) 8을(를) 반환합니다. |
$LOWER(string)
|
ASCII 문자를 소문자로 변환한 string의 복사본을 반환합니다. |
$LOWER('ABC')은(는) 'abc'을(를) 반환합니다. |
$LTRIM(string[, characters])
|
string의 시작 부분에서 문자를 제거합니다.선택적 characters 인수는 접두사가 아니라 제거할 문자 집합입니다.생략하면 공백을 제거합니다. |
$LTRIM(' orders')은(는) 'orders'을(를) 반환합니다.$LTRIM('@@orders', '@')은(는) 'orders'을(를) 반환합니다. |
$REMOVE_PREFIX(string, prefix)
|
지정된 시작 prefix이(가) 제거된 string의 복사본을 반환합니다. |
$REMOVE_PREFIX('mystring', 'my')은(는) 'string'을(를) 반환합니다. |
$REMOVE_SUFFIX(string, suffix)
|
지정된 끝 suffix가 제거된 string의 복사본을 반환합니다. |
$REMOVE_SUFFIX('mystring', 'ing')은(는) 'mystr'을(를) 반환합니다. |
$REPLACE(string, pattern, replacement)
|
`string`에서 모든 `pattern` 항목을 `replacement`(으)로 바꿉니다.세 인수 모두 필수입니다.일치하는 텍스트를 제거하려면 빈 대체 문자열을 사용하세요. |
$REPLACE('a-b-c', '-', '_')은(는) 'a_b_c'을(를) 반환합니다.$REPLACE('a-b', '-', '')은(는) 'ab'을(를) 반환합니다. |
$REPLACE_CHARS(string, chars, replacement)
|
chars에 나열된 각 문자를 replacement의 동일한 위치에 있는 문자로 바꿉니다.목록에 없는 문자는 변경되지 않습니다.대체 위치가 누락된 경우, 첫 번째 대체 문자가 사용됩니다. |
$REPLACE_CHARS('mystring', 's', 'z')은(는) 'myztring'을(를) 반환합니다.$REPLACE_CHARS('abcde', 'abcd', '123')은(는) '1231e'을(를) 반환합니다. |
$REPLACE_PREFIX(string, prefix, replacement)
|
string의 시작 부분에 있는 prefix을(를) replacement(으)로 바꿉니다. |
$REPLACE_PREFIX('mystring', 'my', 'new')은(는) 'newstring'을(를) 반환합니다. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
모든 항목을 대체하는 대신 string 끝의 suffix을(를) replacement(으)로 대체합니다. |
$REPLACE_SUFFIX('mystring', 'ing', 'new')은(는) 'mystrnew'을(를) 반환합니다. |
$RTRIM(string[, characters])
|
string의 끝에서 문자를 제거합니다.선택적 characters 인수는 접미사가 아니라 제거할 문자 집합입니다.생략하면 공백을 제거합니다. |
$RTRIM('orders ')은(는) 'orders'을(를) 반환합니다.$RTRIM('orders@@', '@')은(는) 'orders'을(를) 반환합니다. |
$SUBSTR(string, start[, length])
|
string에서 1부터 시작하는 위치인 start부터 텍스트를 추출합니다. length은(는) 문자 수를 지정합니다.생략하면 나머지 문자를 반환합니다. |
$SUBSTR('abcdef', 2, 3)은(는) 'bcd'을(를) 반환합니다. |
$TRIM(string[, characters])
|
string의 양쪽 끝에서 문자를 제거합니다.선택적 characters 인수는 부분 문자열이 아니라 제거할 문자 집합입니다.생략하면 공백을 제거합니다. |
$TRIM(' orders ')은(는) 'orders'을(를) 반환합니다.$TRIM('@#orders#@', '@#')은(는) 'orders'을(를) 반환합니다. |
$UNICODE(string)
|
string의 첫 번째 문자의 숫자 유니코드 코드 포인트를 반환합니다.인수는 문자열이어야 합니다. |
$UNICODE('ABC')은(는) 65을(를) 반환합니다. |
$UPPER(string)
|
ASCII 문자를 대문자로 변환한 string의 복사본을 반환합니다. |
$UPPER('abc')은(는) 'ABC'을(를) 반환합니다. |
숫자 함수
현재 행의 숫자 값을 계산하려면 이러한 함수를 사용하세요.$MAX 및 $MIN는 여러 행에 걸친 값이 아니라 행 내의 인수를 비교합니다.
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$ABS(X)
|
숫자 인수 X의 절대값을 반환합니다. |
$ABS(-20)은(는) 20을(를) 반환합니다. |
$MAX(arg1, arg2, ...)
|
제공된 숫자 인수 중에서 가장 큰 값을 반환합니다.최소 두 개의 인수를 제공하십시오. | $MAX(10, 4, 20, 9)은(는) 20을(를) 반환합니다. |
$MIN(arg1, arg2, ...)
|
제공된 숫자 인수 중에서 가장 작은 값을 반환합니다.최소 두 개의 인수를 제공하십시오. | $MIN(10, 4, 20, 9)은(는) 4을(를) 반환합니다. |
$RANDOM()
|
부호 있는 의사 난수 정수를 반환합니다.인수를 받지 않습니다. | $RANDOM()은(는) 음수, 0 또는 양수가 될 수 있는 정수를 반환합니다.이 값은 호출할 때마다 달라집니다. |
$ROUND(value[, digits])
|
value을(를) 소수점 이하 digits자리로 반올림하고 부동 소수점 값을 반환합니다.digits이(가) 생략되면 소수점 0자리로 반올림합니다. |
$ROUND(3.141592, 3)은(는) 3.142을(를) 반환합니다. |
LOB 함수
이 함수들은 바이너리 대형 객체(BLOB)를 다룹니다.size 인수 N는 문자가 아닌 바이트를 지정합니다.
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$HEX(blob)
|
blob의 바이트를 나타내는 대문자 16진수 텍스트를 반환합니다.숫자 입력은 먼저 텍스트로 변환되며, 그 결과는 숫자의 기계 표현이 아닙니다. |
$HEX(X'4142')은(는) '4142'을(를) 반환합니다. |
$RANDOM_BLOB(N)
|
N개의 의사 난수 바이트를 반환합니다.N이 1보다 작으면 1바이트를 반환합니다.이 함수를 암호학적 난수성을 보장하는 용도로 사용하지 마십시오. |
$RANDOM_BLOB(4)은(는) 4바이트 BLOB을 반환합니다.이 값은 호출할 때마다 달라집니다. |
$ZERO_BLOB(N)
|
N개의 0 바이트를 포함하는 BLOB을 반환합니다. |
$HEX($ZERO_BLOB(3))은(는) '000000'을(를) 반환합니다. |
Null 검사 함수
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$COALESCE(X, Y, ...)
|
인수 순서대로 첫 번째 NULL이 아닌 인수를 반환합니다.최소 2개의 인수를 지정하십시오.모든 인수가 NULL인 경우 결과는 NULL입니다.빈 문자열은 NULL이 아닙니다. | $COALESCE(NULL, 'Unknown')은(는) 'Unknown'을(를) 반환합니다.$COALESCE('', 'Unknown')은(는) 빈 문자열을 반환합니다. |
$IFNULL(X, Y)
|
NULL이 아닌 경우 X을(를) 반환하고, 그렇지 않으면 Y을(를) 반환합니다.두 인수가 모두 NULL이면 NULL을 반환합니다.정확히 두 개의 인수를 제공하십시오. |
$IFNULL(NULL, 'Unknown')은(는) 'Unknown'을(를) 반환합니다.$IFNULL('Known', 'Unknown')은(는) 'Known'을(를) 반환합니다. |
$NULLIF(X, Y)
|
X과 Y가 같으면 NULL을 반환하고, 그렇지 않으면 X을 반환합니다.정확히 두 개의 인수를 제공하십시오. |
$NULLIF('Unknown', 'Unknown')은 NULL을 반환합니다.$NULLIF('Known', 'Unknown')은(는) 'Known'을(를) 반환합니다. |
날짜 및 시간 함수
'2026-10-08', '12:34:56' 또는 '2026-10-08 12:34:56'과 같은 날짜, 시간 또는 날짜/시간 문자열을 제공하십시오.하이픈이 뺄셈으로 해석되지 않도록 날짜 상수를 따옴표로 묶으십시오.
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$DATE(date_string)
|
date_string의 날짜를 YYYY-MM-DD 형식의 텍스트로 반환합니다. |
$DATE('2026-10-08')은(는) '2026-10-08'을(를) 반환합니다. |
$DATETIME(datetime_string)
|
datetime_string의 날짜와 시간을 YYYY-MM-DD HH:MM:SS 형식의 텍스트로 반환합니다. |
$DATETIME('2026-10-08 12:34:56')은(는) '2026-10-08 12:34:56'을(를) 반환합니다. |
$JULIANDAY(datetime_string)
|
기원전 4714년 11월 24일 그리니치 정오 이후의 일수(소수점 포함)를 반환합니다.두 율리우스일 값을 빼서 경과 일수를 계산합니다. | $JULIANDAY('2000-01-01 12:00:00')은(는) 2451545.0을(를) 반환합니다.$JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08')은(는) 1.0을(를) 반환합니다. |
$STRFTIME(format, datetime_string)
|
format을(를) 사용하여 서식이 지정된 텍스트를 반환합니다.형식은 날짜 또는 날짜/시간 입력 앞에 옵니다. |
$STRFTIME('%Y-%m', '2026-10-08')은(는) '2026-10'을(를) 반환합니다. |
$TIME(time_string)
|
time_string의 시간을 HH:MM:SS 형식의 텍스트로 반환합니다. |
$TIME('12:34:56')은(는) '12:34:56'을(를) 반환합니다. |
서식 대체
$STRFTIME에서 다음 대체 항목을 리터럴 구분 기호와 결합합니다.예를 들어 '%Y-%m-%d %H:%M:%S'은(는) 날짜와 시간 형식을 모두 지정합니다.지원되지 않는 대체는 NULL을 반환합니다.
| 대체 | 의미 |
|---|---|
%d
|
월의 일, 01-31. |
%H
|
시간, 00-24. |
%f
|
소수점 이하 자릿수를 포함한 초, SS.SSS. |
%j
|
연중 일수, 001-366. |
%J
|
율리우스일 번호. |
%m
|
월, 01-12. |
%M
|
분, 00-59. |
%s
|
1970년 1월 1일 00:00:00 UTC 이후 경과한 시간(초)입니다. |
%S
|
초, 00-59. |
%w
|
요일, 0-6; 일요일은 0입니다. |
%W
|
연중 주차, 00-53; 주는 월요일부터 시작합니다. |
%Y
|
년, 0000-9999. |
%%
|
리터럴 퍼센트 기호입니다. |
데이터 보강 함수
조회를 사용하여 소스 또는 대상 엔드포인트의 테이블에서 부서 이름과 같은 관련 값을 추가합니다.
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
condition와(과) 일치하는 레코드에 대해 schema에 있는 소스 엔드포인트의 table에서 expression의 값을 가져옵니다.조건 매개변수는 해당 플레이스홀더에 순서대로 값을 제공합니다. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)은(는) 소스에서 일치하는 부서 이름을 가져옵니다. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
condition와(과) 일치하는 레코드에 대해 schema에 있는 대상 엔드포인트의 table에서 expression의 값을 가져옵니다.조건 매개변수는 해당 플레이스홀더에 순서대로 값을 제공합니다. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)은(는) 대상에서 일치하는 부서 이름을 가져옵니다. |
condition_params은 단일 배열 인수가 아닌 쉼표로 구분된 인수 목록을 나타냅니다.두 함수 모두 다음 매개 변수를 사용합니다:
| 매개 변수 | 의미 |
|---|---|
time_to_live
|
기본값이 없는 필수 캐시 수명입니다.캐시 수명을 초 단위로 지정하거나, 캐싱을 비활성화하려면 짧은 수명은 자주 변경되는 데이터를 새로 고칩니다.유효 기간이 길수록 엔드포인트 쿼리는 줄어들지만, 조회 데이터가 변경된 후 캐시된 값이 반환될 수 있습니다.변경되지 않는 데이터에만 만료 없음을 사용하세요. |
schema
|
룩업 테이블을 포함하는 스키마로, 텍스트로 제공됩니다. |
table
|
해당 스키마 내에서 쿼리할 테이블이며, 텍스트로 제공됩니다. |
expression
|
'DEPARTMENT_NAME' 또는 'PRICE * 1.2'와 같이 하나의 열 값을 선택하는 SQL 표현식입니다.외부 식의 함수 구문이 아닌 액세스 중인 엔드포인트의 SQL 방언을 사용하세요. |
condition
|
조회 레코드를 식별하는 SQL 조건입니다.액세스한 엔드포인트의 방언 및 자리 표시자 구문을 사용하십시오. 예를 들어 Oracle의 경우 :1 및 :2 또는Microsoft SQL Server용 ?. |
condition_params
|
조건 플레이스홀더에 순서대로 바인딩된 값입니다.$COMPANY_ID 및 $DEPARTMENT_ID와 같은 열 매개변수는 현재 행의 값을 제공합니다. |
쿼리 비용을 줄이려면 조회 필드를 인덱싱하세요.대상 레코드를 식별하는 조건을 선택하고, 추가된 열의 데이터 형식을 선택한 값과 일치하도록 설정하십시오.
소스 조회 예제
Oracle 소스의 경우, 다음 표현식은 HR.DEPARTMENTS에서 DEPARTMENT_NAME을(를) 검색하고 결과를 60초 동안 캐시합니다:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
현재 행에 DEPARTMENT_ID 10이 있고 일치하는 조회 레코드에 'Sales'이(가) 포함되어 있으면 결과는 'Sales'입니다.
Microsoft SQL Server 소스의 경우 해당 조건 자리 표시자 구문을 사용하십시오.이 예제는 회사 및 부서 값을 해당 순서대로 바인딩합니다:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
대상 조회 예제
Microsoft SQL Server 대상의 경우 해당 SQL 방언을 사용하여 대상 테이블을 쿼리합니다:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
부서 10의 대상 조회 레코드에 'Sales'이(가) 포함되어 있는 경우, 입력 값 10에 대한 결과는 'Sales'입니다.
작업 함수
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
각 소스 작업에 대해 지정한 플래그를 반환합니다.인수 순서는 삭제, 업데이트, 삽입 순입니다.전용 열을 사용하여 플래그를 저장하고, 해당 데이터 형식과 일치하는 플래그 값을 제공하세요. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted')은 업데이트 시 'Updated'를 반환합니다. |
Qlik Replicate에서 이 함수는 삭제 처리 방식도 변경합니다. 즉, 해당 대상 레코드를 유지하고 value_on_delete(으)로 플래그를 지정합니다.이 삭제 처리 동작은 Qlik Talend Cloud Data Integration에서 확인이 필요합니다.
논리 함수
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
boolean_expression이(가) true로 평가되면 true_value을(를) 반환하고, 그렇지 않으면 false_value을(를) 반환합니다.먼저 조건을 지정한 다음 두 개의 결과 값을 지정하십시오. |
$IFF(10 > 5, 'High', 'Low')은(는) 'High'을(를) 반환합니다.$IFF(3 > 5, 'High', 'Low')은(는) 'Low'을(를) 반환합니다. |
기타 기능
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
일치하면 1, 일치하지 않으면 0을 반환합니다. NULL을 입력하면 NULL이 생성됩니다. %은(는) 0개 이상의 문자와 일치하며, _은(는) 1개의 문자와 일치합니다.기본적으로 매칭 시 ASCII 대소문자를 구분하지 않습니다.선택적 이스케이프는 한 문자입니다.LIKE 연산자와 달리 패턴이 먼저 옵니다. |
$LIKE('A%', 'Alice')은(는) 1을(를) 반환합니다.$LIKE('10!%', '10%', '!') 1을(를) 반환합니다. |
$TYPEOF(expression)
|
값의 스토리지 클래스를 반환합니다: 'null', 'integer', 'real', 'text' 또는 'blob'.구성된 출력 열 유형이 아닙니다. |
$TYPEOF(12.5)은(는) 'real'을(를) 반환합니다. |
해시 함수
| 함수 | 동작 및 인수 | 예제 및 결과 |
|---|---|---|
$SHA256(string)
|
입력 문자열의 16진수 SHA-256 해시를 반환합니다. | $SHA256('abc')은(는) ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad을(를) 반환합니다. |
해시는 암호화가 아닙니다.예측 가능한 입력값은 해시를 비교하여 여전히 식별될 수 있습니다.