在SQL中,UNION操作可以将两个或多个SELECT语句的结果集合并在一起,但是要求这些SELECT语句返回的列数和数据类型必须一致。如果不一致,可以通过以下处理技巧来解决:
SELECT column1, column2
FROM table1
UNION
SELECT CAST(column3 AS INT), column4
FROM table2;
SELECT column1, column2
FROM table1
UNION
SELECT
CASE
WHEN ISNUMERIC(column3) = 1 THEN CAST(column3 AS INT)
ELSE NULL
END,
column4
FROM table2;
SELECT column1, column2
FROM table1
UNION
SELECT NULL, column4
FROM table2;
通过以上技巧,可以在UNION操作中处理不一致的数据类型,确保结果集合并成功。