Строковые функции
like() и ilike()
Синтаксис:
s like (f) s LIKE f like(s.f) s ilike(f) s LIKE f
Функция like() проверяет, совпадает ли выражение, заданное аргументом f, со строкой s. При вызове функции либо передаются два аргумента типа text, либо используется специальный синтаксис SQL, в котором аргумент s предшествует имени функции. Функция ilike() является нестандартной версией функции like(), игнорирующей регистр символов при сравнении, и вызывается только в синтаксисе SQL.
Примечание
Ключевое слово SQL LIKE в PostgreSQL заменяется вызовом функции like(). Возможность использования ключевого слова LIKE без круглых скобок – всего лишь синтаксическое удобство, на практике оба варианта эквивалентны.
Использование функции like() отличается от обычного сравнения с помощью оператора =, поскольку строка f может содержать символы подчеркивания (_) или процента (%), интерпретируемые особым образом. PostgreSQL интерпретирует символ _ как один произвольный символ, а символ % – как ноль или более произвольных символов. Эти специальные символы могут находиться в любом месте строки f.
В PostgreSQL существуют и более совершенные средства поиска по шаблону, о которых говорилось в пункте "Операторы регулярных выражений" подраздела "Строковые операторы" раздела "Операторы" этой главы.
Примеры:
booktown=# SELECT * FROM books booktown-# WHERE title LIKE ('XRabbit1): id i title | authorjd subjectjd 1234 | The Velveteen Rabbit | 25041 | 3 (1 row) booktown=# SELECT * FROM books booktown-# WHERE title LIKE id | title | authorjd | subjectjd 4513 | Dune | 1866 | 15 25908 | Franklin in the Dark | 15990 | 2 (2 rows) booktown=# SELECT * FROM books booktown-# WHERE title ILIKE '"python*': id | title | authorjd | subjectjd 41473 | Programming Python | 7805 | 4 41477 Learning Python | 7805 4 (2 rows)
lower()
Синтаксис:
lower(s)
Функция SQL92 lower () получает один аргумент типа text, преобразует все символы строки к нижнему регистру и возвращает полученную строку в виде значения типа text.
Пример:
booktown=# SELECT lower(title) booktown-# FROM books booktown-# LIMIT 3; lower tne shining dune 2001: a space odyssey