years_between(end, start)
Описание
Функция years_between() вычисляет количество полных лет между двумя датами.
Параметры
end: Column - конечная датаstart: Column - начальная дата
Возвращаемое значение
Column - количество полных лет между датами (тип Double)
Пример использования
from pyspark.sql.functions import years_between, to_date, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("years_between_example").getOrCreate()
# Создаем DataFrame с датами
data = [
    ("2023-01-01", "2020-01-01"),
    ("2023-12-31", "2020-01-01"),
    ("2023-01-01", "2022-12-31")
]
df = spark.createDataFrame(data, ["end_date", "start_date"])
# Преобразуем строки в даты и вычисляем разницу в годах
result = df.withColumn(
    "years_diff",
    years_between(to_date("end_date"), to_date("start_date"))
)
result.show(truncate=False)
# Результат:
# +----------+----------+----------+
# |end_date  |start_date|years_diff|
# +----------+----------+----------+
# |2023-01-01|2020-01-01|3.0       |
# |2023-12-31|2020-01-01|3.0       |
# |2023-01-01|2022-12-31|0.0       |
# +----------+----------+----------+
 Примечания
- Возвращает NULL, если любая из дат NULL
 - Возвращает отрицательное значение, если end_date раньше start_date
 - Учитывает только полные годы
 - Полезно для:
 - Вычисления возраста
 - Анализа временных интервалов
 - Финансовых расчетов
 - Связанные функции:
 months_between()- разница в месяцахdatediff()- разница в днях