【问题标题】:Union query with literals in InterBase使用 InterBase 中的文字进行联合查询
【发布时间】:2014-10-16 12:17:46
【问题描述】:

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

数据类型未知。

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%';

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

提前致谢

【问题讨论】:

    标签: sql interbase


    【解决方案1】:

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

    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%';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2019-01-26
      • 1970-01-01
      相关资源
      最近更新 更多