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

SELECT id FROM groups where name='administrator'

SELECT id FROM groups where name='ADMINISTRATOR'

SELECT id FROM groups where name='Administrator'

当前回答

对于不区分大小写的参数化查询,您可以使用以下语法:

 "select * from article where upper(content) LIKE upper('%' || $1 || '%')"

其他回答

我喜欢在这种情况下工作:

SELECT id 
  FROM groups
 WHERE name ILIKE 'Administrator'

用ILIKE代替LIKE

SELECT id FROM groups WHERE name ILIKE 'Administrator'

你可以用ILIKE。即。

SELECT id FROM groups where name ILIKE 'administrator'

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

SELECT id FROM groups where name ~* 'administrator'

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

对于不区分大小写的参数化查询,您可以使用以下语法:

 "select * from article where upper(content) LIKE upper('%' || $1 || '%')"