DB Table의 특정 컬럼에서 특정 값이 왔을 때 표현을 달리하고 싶다면?
예를 들어, callType 이라는 컬럼에는 숫자형으로만 값이 들어오는데 SELECT 하여 조회할 때 1은 '발신', 2는 '착신'으로 표시되게 해야 하는 경우를 보자.
call_test라는 테이블에 데이터가 아래와 같이 들어있다.
여기서 CALLTYPE의 자료형이 숫자라 값이 숫자로만 들어오는데 1은 '발신', 2는 '착신'을 뜻한다.
이때 1을 '발신'으로 2를 '착신'으로 그 외 나머지 값을 들어오는 숫자 그대로 표현되게 하고 싶다면?
아래와 같이 SELECT CASE 문을 사용하면 된다.
select seq, stime, callType, (case 컬럼이름 when 1 then '발신' else
(case 컬럼이름 when 2 then '착신' else to_char(컬럼이름) end) end) as 통화유형 from 테이블명;
실제로 테이블명과 대상 컬럼을 넣어 조회해보면 아래와 1일 때 발신, 2일 때 착신, 그 외의 값일 때에는 들어오는 값 그대로 나타내 주는 것을 알 수 있다.
select seq, stime, callType, (case calltype when 1 then '발신' else
(case calltype when 2 then '착신' else to_char(calltype) end) end) as 통화유형 from call_test;
'Database' 카테고리의 다른 글
트랜잭션은 무엇이며 트랜잭션을 시작하기 위한 준비! (0) | 2022.07.03 |
---|---|
[ORACLE] 오라클 새 계정추가, 권한부여, 권한삭제, 계정 PASSWORD 변경, 계정삭제 (1) | 2021.02.28 |
[Altibase] 테이블 조회, 생성, 내부 데이터삭제, 테이블이름변경, 테이블 컬럼 타입변경 (0) | 2020.07.28 |
댓글