有没有办法在PostgreSQL中编写不区分大小写的查询,例如,我想下面3个查询返回相同的结果。

SELECT id FROM groups where name='administrator'

SELECT id FROM groups where name='ADMINISTRATOR'

SELECT id FROM groups where name='Administrator'

当前回答

select id from groups where name in ('administrator', 'ADMINISTRATOR', 'Administrator')

其他回答

你可以用ILIKE。即。

SELECT id FROM groups where name ILIKE 'administrator'
select id from groups where name in ('administrator', 'ADMINISTRATOR', 'Administrator')

用ILIKE代替LIKE

SELECT id FROM groups WHERE name ILIKE 'Administrator'

一种经过测试的方法是使用~*

如下面的例子所示

SELECT id FROM groups WHERE name ~* 'administrator'

您还可以使用POSIX正则表达式,例如

SELECT id FROM groups where name ~* 'administrator'

SELECT 'asd' ~* 'asd'返回t