在我的 SQL 中,我需要比较 SQLServer 2008R2 中两个表之间的数据,以返回存在不匹配的行(使用EXCEPT
),并在其他情况下同样匹配行(INTERSECT
)。问题是,某些列具有NTEXT
数据类型(SQLServer),并且当存在具有列的此类表时,SQLServer 会出错NTEXT
。
例子:
SELECT * FROM table_pre
EXCEPT
SELECT * FROM table_post
上述操作报错——
'The ntext data type cannot be selected as DISTINCT because it is not comparable.'
我相信表 ( table_pre
, table_post
) 至少有一列 datatype =NTEXT
导致比较失败。
问题 - 1. 有没有办法NTEXT
从上述比较中排除这些列,而我不必明确列出列名并排除问题列?涉及大量列,明确列出并不容易。2.我可以只明确地将NTEXT
列单独转换/转换为 say VARCHAR
,并且仍然不必列出其余列吗?3. 或者,一般来说,我可以通过在比较过程中列出某些列来排除某些列吗?
任何建议,非常感谢!谢谢。