在SQL中使用短划线( - )和空格分隔搜索值的简便方法

时间:2015-06-10 20:01:27

标签: sql ruby-on-rails postgresql activerecord

我的数据库中有很多记录

- above the line...
- above-the line...
- above-the-line...
- above the-line...

我想用类似查询

查询它们
Select words.* from words where sentence ILIKE 'above the line%';

但是这个查询只能获得第一个结果。

是否有一种简单的方法可以忽略破折号而不使用OR来实现各种可能性?

2 个答案:

答案 0 :(得分:1)

Underscore是sql中的外卡,所以请尝试'above_the_line'。

答案 1 :(得分:0)

你可以这样做:

Word.where("sentence ~* ?", '^above[- ]the[- ]line').all