sql case 예제

다음 예제에서는 UPDATE 문의 CASE 식을 사용하여 SalariedFlag가 0으로 설정된 직원의 [VacationHours] 열에 대해 설정된 값을 결정합니다. VacationHours에서 10시간을 빼면 음수 값이 생성되며, VacationHours는 40시간 증가합니다. 그렇지 않으면, 휴가 시간은 20 시간 증가한다. OUTPUT 절은 휴가 전후 값을 표시하는 데 사용됩니다. SQL-사용자 지정 정렬에서 대/소문자 전환의 또 다른 응용 프로그램을 고려하십시오. 이전 예제에서는 데이터가 세로로 표시되었지만 경우에 따라 데이터를 가로로 표시할 수 있습니다. 이를 “피벗”(예: Excel의 피벗 테이블)이라고 합니다. 다음 쿼리를 살펴보겠습니다: 위의 예와 조건 및 작업을 별도로 분류해 보겠습니다: SELECT 문 내에서 검색된 CASE 식을 사용하여 비교 값을 기반으로 결과 집합에서 값을 대체할 수 있습니다. 다음 예제는 제품의 가격 범위를 기반으로 정가를 텍스트 주석으로 표시합니다.

사례 문은 SELECT 열 목록에 배치되고 문자 값을 반환합니다. 다음은 트릭을 수행하는 SQL입니다: 예를 들어: 다음 문_1을 경우 사례… 위의 예에서 Boolean_Expression_1은 A = B, A != B와 같은 `같음`과 `같지 않음` 연산자모두를 포함할 수 있습니다. SELECT 문 내에서 간단한 CASE 식은 같음 검사만 허용합니다. 다른 비교는 이루어지지 않습니다. 다음 예제에서는 CASE 식을 사용하여 제품 라인 범주의 표시를 변경하여 더 이해하기 쉽게 만듭니다. CASE의 약간 더 복잡하고 실질적으로 더 유용한 기능은 집계 함수와 페어링에서 비롯됩니다. 예를 들어 특정 조건을 충족하는 행만 계산한다고 가정해 보겠습니다. COUNT는 null을 무시하므로 CASE 문을 사용하여 조건을 평가하고 결과에 따라 null 또는 null이 아닌 값을 생성할 수 있습니다. 나는 그것이 가장 좋을 것이라고 동의하는 경향이 있지만 많은 상황에서 데이터베이스에 테이블을 만들 수있는 권한이 없습니다. 이 경우 SELECT 문의 제공 사항을 재치있는 상태로 유지합니다.

위의 예에서 경우는 IF 내부에 중첩됩니다 … ELSE 문: 첫째, IF 문이 실행되고 조건이 false인 경우 ELSE 문이 실행됩니다.