ilike(str, pattern[, escapeChar])
Описание
Функция ilike()
проверяет, соответствует ли строка шаблону без учета регистра. Поддерживает специальные символы: - % - любое количество символов - _ - один символ - escapeChar - символ экранирования (по умолчанию '\')
Параметры
str
: string или Column - строка для проверкиpattern
: string или Column - шаблон для сравненияescapeChar
: string (опционально) - символ экранирования
Возвращаемое значение
Boolean - true
, если строка соответствует шаблону, false
в противном случае
Пример использования
from pyspark.sql.functions import ilike
# Создаем DataFrame
df = spark.createDataFrame([
("Hello World",),
("hello world",),
("HELLO WORLD",),
("Hello",),
("World",),
(None,)
], ["text"])
# Проверяем соответствие шаблону
df.select(
"text",
ilike("text", "hello%").alias("starts_with_hello"),
ilike("text", "%world").alias("ends_with_world"),
ilike("text", "%llo%").alias("contains_llo"),
ilike("text", "hello_world").alias("exact_match")
).show()
# Результат:
# +-----------+------------------+----------------+-------------+-----------+
# | text|starts_with_hello|ends_with_world|contains_llo|exact_match|
# +-----------+------------------+----------------+-------------+-----------+
# |Hello World| true| true| true| true|
# |hello world| true| true| true| true|
# |HELLO WORLD| true| true| true| true|
# | Hello | true| false| true| false|
# | World | false| true| false| false|
# | null| null| null| null| null|
# +-----------+------------------+----------------+-------------+-----------+
# Пример с экранированием
df.select(
ilike("text", "hello\\%world", "\\").alias("escaped_percent")
).show()
Примечания
- Поиск не чувствителен к регистру
- Если любой из аргументов NULL, результат NULL
- Для чувствительного к регистру поиска используйте
like()
- Для поиска с использованием регулярных выражений используйте
rlike()
- Функция полезна для поиска с использованием шаблонов