SQL 无法使用Union如何解决

2023-03-03 20:11:52 浏览数 (1)

SQL 无法使用Union,显示错误如何解决呢?

SQL Union错误

SQL 中可以使用UNION这个命令,来将两个表合并且自动删除重复的数据。 Union All则是只是合并,不删除重复数据。

错误提示:The data type ntext cannot be used as an operand to the UNION, INTERSECT or EXCEPT operators because it is not comparable.

这是由于数据中确实存在ntext这个数据格式导致的,由于ntext已经被nvarchar取代,所以需要找到哪个数据是ntext。 尝试各种办法发现,只有找到这个数据并转换为nvarchar才可以。

SQL Union查找数据格式

这里我们使用以下命令来对每个表进行查询

代码语言:javascript复制

SELECT COLUMN_NAME,DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='TableThatNeedToCheck';

你还可以单独只查一个Column:

代码语言:javascript复制

SELECT COLUMN_NAME,DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='TableNAME' AND 
 COLUMN_NAME = 'yourColumnName'

修改数据格式

找到问题后通过以下方式即可实现使用Union

代码语言:javascript复制
CAST(Table.Column AS nvarchar)
sql

0 人点赞