Перейти к основному содержимому

Сравнение на равенство с учетом NULL (макрос equals)

enable_truthy_nulls_equals_macrodbt v1 Latestdbt v1
Добавлен2025.021.9.0
Стабилизирован (значение по умолчанию → true)——
Удален——

По умолчанию флаг enable_truthy_nulls_equals_macro имеет значение false. Если установить для него значение true в файле dbt_project.yml, макрос dbt equals, используемый в инкрементальных материализациях и материализациях снимков, будет выполнять сравнение на равенство с учетом NULL.

По умолчанию макрос equals() следует трехзначной логике (3VL) SQL, поэтому выражение NULL = NULL возвращает UNKNOWN, а не TRUE.

Когда флаг enable_truthy_nulls_equals_macro включен, макрос equals() использует семантику оператора IS NOT DISTINCT FROM, при которой два значения NULL считаются равными.

Чтобы включить флаг, добавьте его в раздел flags файла dbt_project.yml:

dbt_project.yml
flags:
enable_truthy_nulls_equals_macro: true

Нашли ошибку?

0