database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 8774 게시물 읽기
No. 8774
NVL 과 COALESCE 변환관련 질문 입니다.
작성자
포스팅
작성일
2011-02-16 21:56
조회수
11,879

 

        Oracle nvl을 PostgreSQL coalesce로 변환 시 문제가 있어 질문을 드립니다.

        Oracle일 경우

               NVL(NULL, 'ABC') --> 'ABC'
               NVL('', 'ABC') --> 'ABC'

        PostgreSQL일 경우

               COALESCE(NULL, 'ABC') --> 'ABC'
               COALESCE('', 'ABC') --> ''

       위와 같이 value값이 처리가 되는데 문제는 ''인 빈문자열 입니다.

       Oracle의 nvl과 완전 동일하게 사용하고 싶은데 다른 함수나 방법이 있는지 알려주시면 대단이 감사하겠습니다.

       참고로 PostgreSQL 8.2 버전 입니다.

 

이 글에 대한 댓글이 총 2건 있습니다.

oracle에서는 ''(empty string)을 null로 취급하지만
postgresql에서는 empty string과 null을 다른게 취급합니다.

테이블에 empty string인 데이터와 null인 데이터가 각각 어떤 의미를 지니는지요?
둘다 같게 처리하고 싶다면 그냥 모두 null로 업데이트해버리고 coalesce를 사용하면
되지 않을까 싶습니다만.

xxx님이 2011-02-17 10:00에 작성한 댓글입니다. Edit

굳이 coalesce 를 쓸려고 하지 마시고

좀은 귀찮지만 case when 을 써 보시는건 어떠할런지요

 

아니면 아예 nvl 함수를 만들어 쓰는건 어떠할런지요?

 

함수 본체는 그냥 if 쓰시던지 아니면 case 구문 쓰시던지 편하신대로 하시면 될거 같네요

 

tyro님이 2011-02-18 19:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8777데이타 영문화 입니다. [3]
유닉스
2011-02-21
7677
8776[급질]windows 2003 + pgsql 9.0 설치후 원격접속문제~~ [1]
박병선
2011-02-20
10147
8775자동 백업시스템을 구현하는 방법은? [1]
souler
2011-02-18
8480
8774NVL 과 COALESCE 변환관련 질문 입니다. [2]
포스팅
2011-02-16
11879
8771계층구조 질의 관련입니다. [1]
유닉스
2011-02-09
8267
8770윈도우에서 DB 설치 관련 질문입니다.
최진우
2011-02-08
8045
8766vb.net에서 pgsql의 function 호출시 파라메터값 어떻게 넣어줘야하나요? [1]
이상은
2011-01-26
8825
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다