728x90
반응형
# CASE
- SQL에서 조건절
예제는 아래와 같다.
구분열의 값이 2보다 크면 값2의 열의 값을, 구분열의 값이 2보다 작거나 같으면 값1 열의 값을 추출
SELECT CASE WHEN 구분>2
THEN 값2
ELSE 값1
END
FROM 구분;
- 예제1
SELECT C1,
C2,
CASE
WHEN "C1" = '서울'
THEN '100'
ELSE '-100'
END "C3"
FROM TABLE_NAME;
- 예제 2
SELECT C1,
C2,
CASE
WHEN "C1" = '서울'
THEN '100'
ELSE '0'
END "구분_서울",
CASE
WHEN "C1" = '인천'
THEN '200'
ELSE '0'
END "구분_인천",
CASE
WHEN "C1" = '부산'
THEN '300'
ELSE '0'
END "구분_부산"
FROM AA;
- 설명
CASE WHEN 조건절 THEN 참에대한 결과값
WHEN 조건절 THEN 참에대한 결과값
................
ELSE 거짓에 대한 결과 값
END
조건절 : 결과 값을 추출하기 위한 조건을 표현하는 부분
참에 대한 결과 값 : 조건절의 값을 만족하는 데이터에 대한 결과 값을 설정
거짓에 대한 결과 값 : 모든 조건절의 값을 만족하지 않는 데이터에 대한 결과 값 설정
- CASE WHEN THEN 으로 값 구하기
SELECT "기관",
"시스템",
"주기",
"유형",
"테이블 수",
CASE
WHEN "시스템" = '회계시스템'
AND "유형" = 'A'
THEN
(SELECT SUBSTR(DH,6,3)
FROM TABLE_NAME
WHERE CODE = '001'
AND CONTENT = 'Service'
AND SUBSTR(WRK_BGN_DH,0,6) = '202309'
AND ROWNUM = 1)
ELSE
'가짜'
END "수신일자"
FROM STATISTICS;
POSTGRE 예제
728x90
반응형
'DB Query > 자주쓰는 함수' 카테고리의 다른 글
REPLACE (특정 문자를 치환하는 함수) (0) | 2023.10.10 |
---|---|
ROWNUM (0) | 2023.10.10 |
SYSDATE (현재 일자와 현재 시간을 추출) (0) | 2023.10.10 |
LOWER (소문자로 변환 하여 조건 비교 및 출력) (0) | 2023.10.10 |
UPPER (소문자를 대문자로 변환) (0) | 2023.10.10 |