私の SQL では、SQLServer 2008R2 の 2 つのテーブル間でデータを比較して、不一致が存在する行を返し ( を使用EXCEPT
)、他の場合に一致する行を返す必要があります ( INTERSECT
)。問題は、一部の列にNTEXT
データ型 (SQLServer) があり、そのような列を持つテーブルNTEXT
が存在する場合、SQLServer がエラーを返すことです。
例:
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 = の列が少なくとも 1 つあります。NTEXT
質問 - 1.NTEXT
列名を明示的にリストして問題の列を除外することなく、これらの列を上記の比較から除外する方法はありますか? 関連する列が多数あり、明示的にリストするのは簡単ではありません。NTEXT
2.列だけを明示的にキャスト/変換VARCHAR
して、残りの列をリストする必要はありませんか? 3. または、一般的に、そのような比較中に特定の列を一覧表示することで、何らかの方法でそれらを除外できますか?
どんな提案でも、本当に感謝しています! ありがとう。