加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql中的通配符搜索

发布时间:2020-12-13 16:10:07 所属栏目:百科 来源:网络整理
导读:在 postgresql中,我已经使用SIMILAR TO选项将通配符模式(*)添加到查询中.所以我的查询是, SELECT * FROM table WHERE columnName SIMILAR TO 'R*' 此查询将返回从“R”开始而不是“r”的所有实体.我想让它不区分大小写. 解决方法 使用ILIKE: SELECT * FROM
在 postgresql中,我已经使用SIMILAR TO选项将通配符模式(*)添加到查询中.所以我的查询是,

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

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

解决方法

使用ILIKE:

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

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

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

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

类似于不太可爱,最好避免.见this earlier answer.

你可以写:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读