Firebird:使用SQL搜索所有字段?

时间:2013-05-27 13:44:17

标签: sql firebird

我有一个SQL查询,用于搜索最有可能发生很大变化的字段。我将添加更多字段。如何使用简单的方法编写SQL查询,这样可以在不显式指定字段的情况下搜索字段?

类似的东西:

select * from MYTABLE where CONCAT(*) like '%mySearchTerm%';

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:3)

我认为Firebird的唯一方法是使用calculated field汇总您要搜索的字段:

create table T (
  foo varchar(24) not null,
  bar varchar(24) not null,
  ...
  SearchField varchar(1024) generated always as (foo || '##' || bar)
)

select * from T where SearchField like '%mySearchTerm%';

因此,每次更改表(添加或删除字段)时,您还必须更改计算字段,但查询将保持不变。 但是这对性能有一些影响,因为你正在做你真正不需要的连续......

答案 1 :(得分:1)

如果您在表格中有很多记录和字段并且需要高性能,我建议您搜索全文搜索Firebird的全文索引。 它不是本机功能。但是有一些第三方解决方案。 请看这个链接:http://www.firebirdfaq.org/faq328/