ilike - обмен мнениями о культуре
В PostgreSQL оператор ilike используется для сравнения строк без учета регистра символов. Он работает аналогично оператору LIKE, но не учитывает регистр символов. Для использования оператора ilike следует написать запрос в следующем формате:
SELECT * FROM table_name WHERE column_name ILIKE 'pattern';
где table_name - имя таблицы, column_name - имя столбца, pattern - шаблон для сравнения строк.
Например, для поиска всех строк в столбце "name" таблицы "users" с именем "alex" или "Alex" можно использовать следующий запрос:
SELECT * FROM users WHERE name ILIKE 'alex';
Кроме того, для более точного сравнения можно использовать специальные символы, такие как " _ " (заменяет один любой символ) и " % " (заменяет ноль или более символов).
Например, для поиска всех строк в столбце "email" таблицы "users" с доменом "gmail.com" или "yahoo.com" можно использовать следующий запрос:
SELECT * FROM users WHERE email ILIKE '%@gmail.com' OR email ILIKE '%@yahoo.com';
В данном примере символ " % " заменяет любую последовательность символов перед "@gmail.com" или "@yahoo.com".
Пример кода на SQL для использования оператора ilike:
-- создаем таблицу users
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(50)
);
-- добавляем несколько записей
INSERT INTO users (name, email) VALUES
('Alex', 'alex@gmail.com'),
('Katya', 'katya@yahoo.com'),
('John', 'john@mail.ru'),
('Frank', 'frank@gmail.com');
-- выбираем все записи с именем "alex" или "Alex"
SELECT * FROM users WHERE name ILIKE 'alex';
-- выбираем все записи с доменами "gmail.com" или "yahoo.com"
SELECT * FROM users WHERE email ILIKE '%@gmail.com' OR email ILIKE '%@yahoo.com';