설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 90건, 최근 0 건
   

오라클 DECODE 함수 대체하기

글쓴이 : PostgresDBA 날짜 : 2012-12-09 (일) 20:22 조회 : 18163
아래와 같은 오라클의 DECODE 문을 잘 아실겁니다.
PostgreSQL 에서는 DECODE 와 같은 함수가 없습니다.

SCOTT@ORA11GR2>SELECT DECODE(COMM,NULL, 'N/A',COMM) COMM FROM EMP;

COMM
----------------------------------------
N/A
300
500
N/A
1400
N/A
N/A
N/A
N/A
0
N/A
N/A
N/A
N/A

14 rows selected.

SCOTT@ORA11GR2>

그럼 PostgreSQL 에서는 아래와 같이 구현할수 있습니다.

scott@[local]:5432 scottdb#SQL> 
SELECT CASE WHEN COMM IS NULL THEN 'N/A' ELSE CAST(COMM AS VARCHAR) END  COMM FROM EMP;
 comm 
------
 N/A
 300
 500
 N/A
 1400
 N/A
 N/A
 N/A
 N/A
 0
 N/A
 N/A
 N/A
 N/A
(14 rows)

Time: 0.828 ms
scott@[local]:5432 scottdb#SQL> 

참고로, PPAS 에서는 오라클 구문 그대로 사용할수 있습니다. 오라클 호환성은 정말 좋네요.

scott@[local]:5444 scottdb#SQL> SELECT DECODE(COMM,NULL, 'N/A',COMM) COMM FROM EMP;
 comm 
------
 N/A
 300
 500
 N/A
 1400
 N/A
 N/A
 N/A
 N/A
 0
 N/A
 N/A
 N/A
 N/A
(14 rows)

Time: 2.630 ms
scott@[local]:5444 scottdb#SQL> 

초보 2016-07-14 (목) 11:32
좋아용ㅎㅎ
댓글주소
라온파파 2016-11-04 (금) 19:56
이것은 전에 나왔던 그냥 CASE 문과 동일한거죠?
따로 decode 같은 함수는 없는게 맞죠?
댓글주소
     
     
주킹 2016-11-11 (금) 08:54
community는 orafce 모듈을 별도로 설치하지 않는 이상 없습니다.
댓글주소
   

postgresdba.com