有没有办法在PostgreSQL中编写不区分大小写的查询,例如,我想下面3个查询返回相同的结果。
SELECT id FROM groups where name='administrator'
SELECT id FROM groups where name='ADMINISTRATOR'
SELECT id FROM groups where name='Administrator'
有没有办法在PostgreSQL中编写不区分大小写的查询,例如,我想下面3个查询返回相同的结果。
SELECT id FROM groups where name='administrator'
SELECT id FROM groups where name='ADMINISTRATOR'
SELECT id FROM groups where name='Administrator'
当前回答
使用~*可以通过INSTR的功能极大地提高性能。
SELECT id FROM groups WHERE name ~* 'adm'
返回name包含OR = 'adm'的行。
其他回答
你可以用ILIKE。即。
SELECT id FROM groups where name ILIKE 'administrator'
使用~*可以通过INSTR的功能极大地提高性能。
SELECT id FROM groups WHERE name ~* 'adm'
返回name包含OR = 'adm'的行。
-- Install 'Case Ignore Test Extension'
create extension citext;
-- Make a request
select 'Thomas'::citext in ('thomas', 'tiago');
select name from users where name::citext in ('thomas', 'tiago');
限制使用ILIKE
select id from groups where name ILIKE 'adminstration';
如果你来,expressjs的背景和名称是一个变量 使用
select id from groups where name ILIKE $1;
用ILIKE代替LIKE
SELECT id FROM groups WHERE name ILIKE 'Administrator'