CASE语句是否会自动中断使用MINUS的查询?我正在比较数据集的实时拉动与它的先前缓存,即使实时拉动中的CASE语句返回纯VARCHAR2结果,我得到它们与缓存表中的静态值之间的类型不匹配,也存储为VARCHAR2。
我能想到的唯一其他可能性甚至更不可能 - 单引号中的连接(||)或文字,这两个都出现在CASE结果中,是否会被搞砸?
答案 0 :(得分:1)
在SELECT语句中,除了此CASE之外,还有其他字段吗? MINUS尝试比较整行,也许其他一些值不匹配。
您是否尝试修剪案例(TRIM(CASE foo WHEN..
)以确定是否有任何问题?
所有分支都返回VARCHAR2吗?有时,即使一个分支返回一个数字或一个日期,它也可能搞乱这些类型。