Skip to content

nvl(expr1, expr2)

Описание

Функция nvl() возвращает первое значение, если оно не NULL, иначе возвращает второе значение.

Параметры

  • expr1: Column - первое значение
  • expr2: Column - второе значение

Возвращаемое значение

Тип данных первого значения

Пример использования

from pyspark.sql.functions import nvl, lit
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("nvl_example").getOrCreate()

# Создаем DataFrame с NULL значениями
data = [
    (None, 1),
    (2, None),
    (3, 4)
]
df = spark.createDataFrame(data, ["col1", "col2"])

# Заменяем NULL на альтернативные значения
result = df.select(
    nvl("col1", "col2").alias("result")
).show()

# Результат:
# +------+
# |result|
# +------+
# |1     |
# |2     |
# |3     |
# +------+

Примечания

  • Аналогична функции ifnull()
  • Для проверки на NULL используйте isnull()
  • Для получения первого не-NULL значения используйте coalesce()
  • Для условной замены NULL используйте nvl2()