2013-04-12 5 views
10

지옥 나는 수행 할 때 NULL을 반환 0이다ORA-12704 : 문자 집합 불일치

select COALESCE (CORP_ID, 0) from crmuser.accounts; 

CORP_ID 기록을하지만, 내가 할 때

:
select COALESCE (EMAIL, 'NO EMAIL') from crmuser.accounts 

는 오류가 발생합니다
ORA-12704: character set mismatch 

NVARCHAR2 (30)의 EMAIL 필드입니다. Is는 My Datatype이며, 그렇다면 기본값을 반환하려면 어떻게해야합니까?

+0

나를 위해 잘 작동합니다 ... – hsuk

답변

1

이 일반적인 수정 VARCHAR2 나 NVARCHAR2로 정의 컬럼에서 작동합니다

select COALESCE (EMAIL, N'' || 'NO EMAIL') from crmuser.accounts 

그냥 N '을'추가 || 유니 코드가 아닌 문자열 상수 앞에.