cmpnt_name是什么数据类型的?错误提示是此字段与 ‘’不能解析成同一种类型

解决方案 »

  1.   

    对啊,应该是这个cmpnt_name字段至少有一个不是字符型,所以报错。
      

  2.   


    cmpnt_name是nvarchar2(60)型字段  
      

  3.   


    cmpnt_name是nvarchar2(60)型字段  ,请问与' ' 相匹配么?如果不匹配应该怎么写能够填补则个空字段呢?多谢!
      

  4.   

    改为null即可,测试通过
    SQL> create table component(cmpnt_name nvarchar2(60));表已创建。SQL> insert into component
      2  select rownum from dual
      3  connect by rownum<=10;已创建10行。SQL> commit;提交完成。SQL> select cmpnt_name from component
      2  union all
      3  select null from dual;CMPNT_NAME
    --------------------------------------------------------------------------------
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    已选择11行。
      

  5.   

    在使用Union all连接时,若A集合中某列为nvarchar2或nvarchar类型,而B集合中无此列,用‘ ’ 来代替是会报字符集不匹配
    select cmpnt_name aaa from component where unit_id  ='14224'
    union all 
    select cast('' as nvarchar2(60)) aaa from component where unit_id  ='14226' ;