Sql ORA-12704:case语句中的字符集不匹配
获取不匹配错误,即使两者都是NVARCHAR2(50)。它们看起来很好分开Sql ORA-12704:case语句中的字符集不匹配,sql,oracle,Sql,Oracle,获取不匹配错误,即使两者都是NVARCHAR2(50)。它们看起来很好分开 select O.MEDIC_NO ,O.PRO_TIN ,CASE WHEN O.MEDIC_NO IS NULL THEN '' ELSE O.PRO_TIN END AS PRO_TIN_PREVIOUS from Q119 o 问题可能是字符串文字不是NVARCHAR2(50)。案例的每个分支都需要返回相同类型的值 select O.MEDIC_NO ,O.PRO_TIN ,CASE WHEN O.MEDIC_
select O.MEDIC_NO
,O.PRO_TIN
,CASE WHEN O.MEDIC_NO IS NULL THEN '' ELSE O.PRO_TIN END AS PRO_TIN_PREVIOUS
from Q119 o
问题可能是字符串文字不是NVARCHAR2(50)。案例的每个分支都需要返回相同类型的值
select O.MEDIC_NO
,O.PRO_TIN
,CASE WHEN O.MEDIC_NO IS NULL THEN cast('' as NVARCHAR2(50))
ELSE O.PRO_TIN END AS PRO_TIN_PREVIOUS
from Q119 o
问题可能是字符串文字不是NVARCHAR2(50)。案例的每个分支都需要返回相同类型的值
select O.MEDIC_NO
,O.PRO_TIN
,CASE WHEN O.MEDIC_NO IS NULL THEN cast('' as NVARCHAR2(50))
ELSE O.PRO_TIN END AS PRO_TIN_PREVIOUS
from Q119 o
WHEN's THEN列表中的第一项确定列表其余部分使用的字符集/数据类型。这里是空字符串(可能是VARCHAR2),并且您的O.PRO_TIN不是相同的字符集/数据类型(不兼容)
尝试将空字符串强制转换为与O.PRO_TIN相同的类型,或者尝试交换逻辑,使O.PRO_TIN位于第一位(
如果x不为NULL,则为O.PRO_TIN,否则为“END”
)如果是WHEN's THEN list,则列表中的第一项确定列表其余部分使用的字符集/数据类型。这里是空字符串(可能是VARCHAR2),并且您的O.PRO_TIN不是相同的字符集/数据类型(不兼容)
尝试将空字符串强制转换为与O.PRO_TIN相同的类型,或者尝试交换逻辑,使O.PRO_TIN优先(
当x不为空时,则为O.PRO_TIN,否则为“结束”)谢谢,非常感谢。谢谢,非常感谢。