sql union所有数据类型错误,带空值

use*_*246 1 union null teradata

我有两张桌子,我之间有'联合所有'.

我的问题,我得到一个数据不匹配错误的原因,在表1中我有select ... ,'opt' as opt from...然后在第二个表中我有select ..., null as opt from...

我知道我可以有一个空字符串'' as opt但是,我不想要一个空字符串,我真的需要它为null.无论如何,我可以得到查询接受null?

dno*_*eth 5

解析器在内部将数据类型分配给NULL,它是一个INTEGER.您的列不是数字,因此导致sa类型不匹配.

简单地解决这个问题 CAST(NULL AS VARCHAR(..))