ORA-12704: несоответствие набора символов

Черт, когда я это делаю:

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

Записи CORP_ID, которые являются нулевыми, возвращают 0, но когда я делаю:

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

Я получаю сообщение об ошибке:

ORA-12704: character set mismatch

Поле EMAIL в NVARCHAR2 (30). Is is My Datatype, и если да, то что мне делать, чтобы возвращать значения по умолчанию?

Ответ 2

Это общее исправление работает со столбцами, определяемыми как VARCHAR2 или NVARCHAR2:

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

Просто добавьте N '' || перед строкой константы, не входящей в Unicode.