目次
はじめに
MySQLやSQLServerではDBの照合順序を指定すれば大文字小文字区別なく検索することができます
PostgreSQLでは照合順序では設定できません
ILIKEを使う方法
PostgreSQLで大文字小文字区別なく検索するにはILIKEを使用します
例えば以下のようなテーブルがあるとします
create table languages
(
id serial not null primary key,
name varchar(100)
);
テストデータを下記のようにします
INSERT INTO languages (name) VALUES('PHP')
LIKEで検索した場合はヒットしません
SELECT * FROM languages WHERE name LIKE 'php'
LIKLIKEをILIKEに変更すると大文字小文字区別なく検索することができます
SELECT * FROM languages WHERE name ILIKE 'php'
EntityFrameworkでILIKEを使用する方法
LINQのWhere内でEF.Functions.ILike
を使用すればILIKEがEntityFrameworkが使用できます
DbContext.Languages.Where(l => EF.Functions.ILike(l.name, "php"))