在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操作中處理不一致的數據類型,確保結果集合并成功。