在Postgre的WHERE中使用正则expression式

我目前有以下查询:

select regexp_matches(name, 'foo') from table; 

我怎样才能重写这个正则expression式就像下面这样(不工作):

 select * from table where regexp_matches(name, 'foo'); 

当前的错误信息是:错误:WHERE的参数必须是布尔types,而不是typestext [] SQL状态:42804字符:29

写:

 select * from table where name ~ 'foo' 

'〜'运算符为正则expression式是否匹配产生布尔结果,而不是提取匹配的子组。

只需使用匹配运算符:

 select * from table where name ~ 'foo';