@쿼리 예시 : SELECT CASE WHEN 컬럼1 = 'a' AND 컬럼2 = 'b' THEN '첫번째 case 입니다' WHEN 컬럼2 = 'a' AND 컬럼2 = 'b' AND 컬럼3 = 'c' THEN '두번째 case입니다.' ELSE '나머지 케이스 입니다.'
END AS TEST FROM 테이블 ... @데이터 예시 : 컬럼1 컬럼2 컬럼3 a b d a b c 위와 같은 컬럼값이 있습니다.
이 경우 위 쿼리의 값은 어떻게 나올까요? . . . . . . . . .
아래와 같이 출력이 됩니다. '첫번째 case 입니다' '첫번째 case 입니다' (왜 두번째 case가 나오지 않는거지??)
[이유] CASE WHEN 의 경우 상위 CASE WHEN 부터 순서대로 조건을 체크합니다. 예를 들어 A = 20 이라는 값이 있다고 하였을때 SELECT CASE WHEN A >= 5 THEN '5보다 크거나 같아요' (조건이 매칭되는 시점) WHEN A >= 10 THEN ...
#
sqld
#
오라클기초