조건 함수 - Amazon Simple Storage Service

조건 함수

Amazon S3 Select 및 S3 Glacier Select에서는 다음과 같은 조건부 함수를 지원합니다.

CASE

CASE 표현식은 다른 언어에서 발견되는 if/then/else 문과 비슷한 조건 표현식입니다. CASE는 다수의 조건이 있을 때 결과를 지정하는 데 사용됩니다. CASE 표현식은 단순(simple)과 검색(searched), 두 가지 유형이 있습니다.

단순 CASE 표현식에서는 표현식과 값을 비교합니다. 이때 일치하는 부분이 발견되면 THEN 절에서 지정된 작업이 적용됩니다. 일치하는 부분이 발견되지 않으면 ELSE 절에서 지정된 작업이 적용됩니다.

검색 CASE 표현식에서는 각 CASE가 부울 표현식에 따라 평가되고, CASE 문이 처음 일치하는 CASE를 반환합니다. WHEN 절 사이에서 일치하는 CASE가 발견되지 않으면 ELSE 절의 작업이 반환됩니다.

Syntax

다음은 조건을 일치시키는 데 사용되는 단순 CASE 문입니다.

CASE expression WHEN value THEN result [WHEN...] [ELSE result] END

다음은 각 조건을 평가하는 데 사용되는 검색 CASE 문입니다.

CASE WHEN boolean condition THEN result [WHEN ...] [ELSE result] END

Examples

쿼리에서 단순 CASE 표현식을 사용하여 New York City를 Big Apple로 바꿉니다. 그 밖의 도시 이름은 모두 기타로 바꿉니다.

select venuecity, case venuecity when 'New York City' then 'Big Apple' else 'other' end from venue order by venueid desc; venuecity | case -----------------+----------- Los Angeles | other New York City | Big Apple San Francisco | other Baltimore | other ... (202 rows)

검색 CASE 표현식을 사용하여 개별 티켓 판매에 대한 PRICEPAID 값을 기준으로 그룹 번호를 할당합니다.

select pricepaid, case when pricepaid <10000 then 'group 1' when pricepaid >10000 then 'group 2' else 'group 3' end from sales order by 1 desc; pricepaid | case -----------+--------- 12624.00 | group 2 10000.00 | group 3 10000.00 | group 3 9996.00 | group 1 9988.00 | group 1 ... (172456 rows)

COALESCE

인수들을 순서대로 평가하여 알 수 없는 인수가 아닌 첫 번째 인수, 즉 null이 아니거나 누락되지 않은 첫 번째 인수를 반환합니다. 이 함수는 null과 누락을 전파하지 않습니다.

Syntax

COALESCE ( expression, expression, ... )

Parameters

표현식

함수가 실행되는 대상 표현식입니다.

Examples

COALESCE(1) -- 1 COALESCE(null) -- null COALESCE(null, null) -- null COALESCE(missing) -- null COALESCE(missing, missing) -- null COALESCE(1, null) -- 1 COALESCE(null, null, 1) -- 1 COALESCE(null, 'string') -- 'string' COALESCE(missing, 1) -- 1

NULLIF

두 개의 표현식이 주어질 경우 그 두 표현식이 같은 값으로 평가된다면 NULL을 반환하고, 그렇지 않다면 첫 번째 표현식을 평가한 결과를 반환합니다.

Syntax

NULLIF ( expression1, expression2 )

Parameters

expression1, expression2

함수가 실행되는 대상 표현식들입니다.

Examples

NULLIF(1, 1) -- null NULLIF(1, 2) -- 1 NULLIF(1.0, 1) -- null NULLIF(1, '1') -- 1 NULLIF([1], [1]) -- null NULLIF(1, NULL) -- 1 NULLIF(NULL, 1) -- null NULLIF(null, null) -- null NULLIF(missing, null) -- null NULLIF(missing, missing) -- null