Skip to content

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()
  • Функция полезна для поиска с использованием шаблонов