我如何建立一个只基于小写字母的索引?

即使实际字段同时包含大写和小写字母.

另外,我可以运行一个查询,只返回小写的索引值吗?

推荐答案

可以创建索引并将字段转换为大写或小写.然后当你进行查询时,你可以做同样的转换,它会做正确的事情.

所以:

CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));

然后查询相同的内容:

SELECT username FROM users WHERE lower(username) = 'bob';

Postgresql相关问答推荐

PostgreSQL按描述请求

在SqlalChemy中转义动态CamelCase场

PostgreSQL plpgsql函数问题

ANTLR4 PostgreSQL语法被 destruct 了吗?

将XML解析从T-SQL迁移到Postgres时出现问题

是否可以在psql查询输出中删除新行末尾的+号?

Docker compose read connection reset by peer error on pipeline

包含间隔在 jooq 和 postgres 中没有按预期工作

TimescaleDB 连续聚合:如何存储连续聚合结果

安装 pg gem 失败,mkmf.rb 找不到 ruby​​ 的头文件(Mac OSX 10.6.5)

在 to_tsquery 中转义特殊字符

从 sql 查询 postgres 9.4 创建嵌套 json

如何在 PostgreSQL 触发器函数中获取表名?

在 PostgreSQL 中显示正在运行的查询的全文

如何禁用 postgresql缓存优化?

理解 Postgres 行大小

无法在 postgresql hibernate 中使用名为user的表

由于外键约束无法删除对象

在 PostgreSQL 中 Select 进入临时表?

判断 Postgres 中是否存在序列(plpgsql)