2013-10-26 36 views
1

我有兩個表,我有'union all'之間。sql union所有數據類型錯誤與空值

我的問題,我得到的數據不匹配的錯誤原因,表我有select ... ,'opt' as opt from...然後在第二個表我有select ..., null as opt from...

我知道我可以有一個空字符串,但'' as opt,我不想要一個空字符串,我真的需要它爲空。無論如何,我可以讓查詢接受null?

回答

4

解析器內部分配一個數據類型爲NULL,它是一個INTEGER。您的列不是數字,因此導致類型不匹配。

爲了解決這個根本CAST(NULL AS VARCHAR(..))

+1

另外,我認爲這將是一個好主意,明確地投你的字符常量'選擇」您要創建的第一個表達式(可能是CHAR(3)在這種情況下)和分配空值時使用相同的數據類型。如果你需要修改代碼,這會讓你對你更明顯。 – BellevueBob