oracle

Oracle Case 조건문 사용하기

구름Grum 2023. 1. 12. 10:07

CASE 서로 다른 조건에 따라 서로 다른 작업을 수행할 수 있도록 하는 SQL의 제어 구조입니다. 수행할 작업을 결정하는 조건을 지정하기 위해 WHEN과 함께 사용됩니다 .

다음 은 SQL 문 에서 CASE 문을 사용하는 방법에 대한 예입니다.


SELECT column1, column2, 
    CASE column3
        WHEN 'value1' THEN 'result1'
        WHEN 'value2' THEN 'result2'
        ELSE 'result3'
    END as new_column
FROM table_name

이 예에서 CASE문은 "column3"값을 기반으로 "new_column"이라는 새 열을 만드는 데 사용됩니다.

"column3"의 값이 'value1'이면 "new_column"에 'result1'이 반환되고, "column3"의 값이 'value2'이면 'result2'가 반환되며, 다른 값은 'result3'이 반환됩니다.

CASE 다음과 같이 단일 값을 반환하기 위해 명령문이 아닌 표현식 으로 사용할 수도 있습니다 .

SELECT column1, column2, 
    CASE 
        WHEN column3 = 'value1' THEN column4 * 2
        WHEN column3 = 'value2' THEN column5 + 1
        ELSE 0
    END as new_column
FROM table_name


이 경우 식은 column3 = 'value1'인 경우 column4 * 2, column3 = 'value2'인 경우 column5 + 1, 그렇지 않은 경우 0을 반환합니다.