如何编写返回索引中所有行的Oracle文本查询(CONTAINS
查询)?
我试过这个:
select * from table t
where contains(t.column, '%', 1) > 0
但是这不会返回任何行。是否有匹配所有行的模式?
答案 0 :(得分:0)
如果您要查找匹配所有行的查询,则可以简单地使用“ 1 = 1”谓词来简化比较运算符,如下所示:
select * from table t where 1 > 0;
通常情况下,默认搜索需要返回所有行,而带有关键字的搜索应使用contains
检查行。
因此,我使用CASE
语句进行条件搜索:
SELECT * FROM table t where
(CASE WHEN :keyword IS NOT NULL THEN contains(t.column, :keyword, 1)
ELSE 1 END) > 0;
希望这会有所帮助!