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()