我已经尝试过以下但是交叉不能处理以下错误 数据类型文本不能用作UNION,INTERSECT或EXCEPT运算符的操作数,因为它不具有可比性。
SELECT * FROM TableA
INTERSECT
SELECT * FROM TableB
有什么想法吗?
答案 0 :(得分:0)
如果您阅读MSDN他们提到了这一点,
查询规范或表达式不能返回xml,text,ntext, image或非二进制CLR用户定义类型列,因为这些数据 类型无法比较。
使用cast(textcolumnname as nvarchar(2000))
之类的textcolumnname
代替text
字段名称。
如果您想使用INTERSECT
将数据类型转换为varchar
,我认为还有其他方法可以执行此操作。
另一种方法是使用INNER JOIN
和DISTINCT
,它会为您提供与INTERSECT
相同的结果。
Here is the detail description how to achive intersect with Inner join