sql case 예제

마찬가지로 간단한 CASE 절을 사용하여 여러 값을 하나로 표준화할 수 있습니다. 예제를 확장하면 남성 또는 여성으로 몇 가지 변형이 매핑됩니다. CASE의 약간 더 복잡하고 실질적으로 더 유용한 기능은 집계 함수와 페어링에서 비롯됩니다. 예를 들어 특정 조건을 충족하는 행만 계산한다고 가정해 보겠습니다. COUNT는 null을 무시하므로 CASE 문을 사용하여 조건을 평가하고 결과에 따라 null 또는 비null 값을 생성할 수 있습니다 . 시스템은 Case_Expression = Value_1 CASE 식이 순차적으로 조건을 평가하고 조건이 충족되는 첫 번째 조건으로 중지하는지 확인합니다. 경우에 따라 식이 CASE 식이 식의 결과를 입력으로 받기 전에 식이 평가됩니다. 이러한 식을 평가하는 데 오류가 발생할 수 있습니다. CASE 식에 대한 WHEN 인수에 나타나는 집계 식이 먼저 평가된 다음 CASE 식에 제공됩니다. 예를 들어 다음 쿼리는 MAX 집계 값을 생성할 때 0오류로 나누기 시작합니다.

CASE 식을 평가하기 전에 발생합니다. 아래 의 아래 예제에서 별도로 조건 및 작업을 분류 하는 것을 고려해 보자: 예를 들어: 경우 때 때 다음 statement_1… 위의 예에서 Boolean_Expression_1은 A = B, A != B와 같은 `같음`과 `같지 않음` 연산자모두를 포함할 수 있습니다. 사례 문은 SELECT 열 목록에 배치되고 문자 값을 반환합니다. 다음은 트릭을 수행하는 SQL입니다: 다음 예제에서는 UPDATE 문의 CASE 식을 사용하여 SalariedFlag가 0으로 설정된 직원의 VacationHours 열에 대해 설정된 값을 결정합니다. VacationHours에서 10시간을 빼면 음수 값이 생성되며, VacationHours는 40시간 증가합니다. 그렇지 않으면, 휴가 시간은 20 시간 증가한다. OUTPUT 절은 휴가 전후 값을 표시하는 데 사용됩니다.

모든 CASE 문은 END 문으로 끝나야 합니다. ELSE 문은 선택 사항이며 WHEN/THEN 문에 지정되지 않은 값을 캡처하는 방법을 제공합니다. CASE는 예제의 맥락에서 이해하기 가 가장 쉽습니다 : 그러나 몇 가지 다른 조건을 계산하고 싶다면 어떨까요? WHERE 절을 사용하면 하나의 조건만 계산할 수 있습니다. 다음은 하나의 쿼리에서 여러 조건을 계산하는 예제입니다. GetContactInfo. AdventureWorks2012 데이터베이스에서 사람과 관련된 모든 데이터는 Person.Person 테이블에 저장됩니다. 예를 들어, 직원은 직원, 공급업체 담당자 또는 고객일 수 있습니다.

2nd August 2019 Uncategorized