地狱当我这样做:
select COALESCE (CORP_ID, 0) from crmuser.accounts;
该CORP_ID记录这是NULL,返回0,但是当我这样做:
select COALESCE (EMAIL, 'NO EMAIL') from crmuser.accounts
我得到一个错误:
ORA-12704: character set mismatch
在NVARCHAR2电子邮件字段(30)。 是被我的数据类型,如果是我应该怎么做恢复默认值?
你应该做
select COALESCE (EMAIL, n'NO EMAIL') from crmuser.accounts
字面转换为NVARCHAR。
例如http://sqlfiddle.com/#!4/73929/1 VS http://sqlfiddle.com/#!4/73929/2
这个通用的修复工作与定义为VARCHAR2或NVARCHAR2列:
select COALESCE (EMAIL, N'' || 'NO EMAIL') from crmuser.accounts
只需添加N“” || 在你非Unicode字符串常量。