比较union前后两个结果集每个对应字段的数据类型是否一致。

解决方案 »

  1.   

    union前面的没有问题,关键出在后面的null上,null没有数据类型
      

  2.   

    第二个 select 中的 null 值没有数据类型,使用cast
    select q.TRAY_MARK,cast(null as varchar2(10)),....这里的 varchar2(10) 是根据第一个select 相同位置的数据的数据类型得来的.
      

  3.   

    象楼上所写的,会出现ora-00905:missing keyword的错误提示
      

  4.   

    你的Oracle版本?试试 decode('a','a',null,'aaaaa') 如果这个字段是varchar2(5)'aaaaa' 这个值的数据类型与对应的匹配就可以了