在InterBase中使用文字进行联合查询

时间:2014-10-16 03:05:49

标签: sql interbase

我刚刚开始使用Interbase,我正在尝试运行简单查询。当我有' SEQUENCE' (或者' INDEX'或#39;某些东西')在联合查询的两个部分中工作正常,但是当我在查询的两个部分中有不同的字符串时会产生错误:

  

数据类型未知。

select rdb$generator_name as name, 'SEQUENCE' as typ from rdb$generators 
where upper(rdb$generator_name) like '%RD%' 
union all 
select rdb$index_name as name, 'INDEX' as typ from rdb$indices 
where upper(rdb$index_name) like '%RD%';

因此,问题是:如何指定类型或运行查询我可以做些什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

我们可以使用类型转换来解决它:

select rdb$generator_name as name, cast('SEQUENCE' as varchar(10)) as typ from rdb$generators
where upper(rdb$generator_name) like '%RD%' 
union all 
select rdb$index_name as name, cast('INDEX' as varchar(10)) as typ from rdb$indices
where upper(rdb$index_name) like '%RD%';