Skip to content

daft.functions.eq_null_safe#

eq_null_safe #

eq_null_safe(left: Expression, right: Expression) -> Expression

Performs a null-safe equality comparison between two expressions.

Unlike regular equality (==), null-safe equality (<=> or IS NOT DISTINCT FROM): - Returns True when comparing NULL <=> NULL - Returns False when comparing NULL <=> any_value - Behaves like regular equality for non-NULL values

Returns:

Name Type Description
Expression Boolean Expression

A boolean expression indicating if the values are equal

Source code in daft/functions/misc.py
104
105
106
107
108
109
110
111
112
113
114
115
116
117
def eq_null_safe(left: Expression, right: Expression) -> Expression:
    """Performs a null-safe equality comparison between two expressions.

    Unlike regular equality (==), null-safe equality (<=> or IS NOT DISTINCT FROM):
    - Returns True when comparing NULL <=> NULL
    - Returns False when comparing NULL <=> any_value
    - Behaves like regular equality for non-NULL values

    Returns:
        Expression (Boolean Expression): A boolean expression indicating if the values are equal
    """
    left = Expression._to_expression(left)
    right = Expression._to_expression(right)
    return Expression._from_pyexpr(left._expr.eq_null_safe(right._expr))