7

在 postgresql 中,我设法使用 SIMILAR TO 选项将通配符模式 (*)添加到查询中。所以我的查询将是,

SELECT * FROM table WHERE columnName SIMILAR TO 'R*'

此查询将返回从“R”而不是“r”开始的所有实体。我想让它不区分大小写。

4

2 回答 2

18

使用ILIKE

SELECT * FROM table WHERE columnName  ILIKE 'R%';

或不区分大小写的正则表达式:

SELECT * FROM table WHERE columnName ~* '^R.*';

两者都是 PostgreSQL 扩展。lower(...)Sanjaya 已经概述了符合标准的方法 - 使用或使用双分支SIMILAR TO表达式过滤双方。

SIMILAR TO不太可爱,最好避免。请参阅这个较早的答案

你可以写:

SELECT * FROM table WHERE columnName SIMILAR TO '(R|r)%'

但我不特别推荐使用SIMILAR TO.

于 2013-06-18T04:44:30.457 回答
1

尝试

SELECT * FROM table WHERE columnName  SIMILAR TO 'R%|r%'
于 2013-06-18T04:42:38.027 回答