From b48ee1b949f285f0cb78b2aa5ce0784b49f09f8a Mon Sep 17 00:00:00 2001 From: Blargian Date: Wed, 8 May 2024 13:56:49 +0200 Subject: [PATCH] Add isNotDistinctFrom to documentation --- .../sql-reference/functions/null-functions.md | 30 +++++++++++++++++++ .../sql-reference/statements/select/where.md | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docs/en/sql-reference/functions/null-functions.md b/docs/en/sql-reference/functions/null-functions.md index 6220e08ce2d..6c39806ecf6 100644 --- a/docs/en/sql-reference/functions/null-functions.md +++ b/docs/en/sql-reference/functions/null-functions.md @@ -137,6 +137,36 @@ Result: └───┘ ``` +## isNotDistinctFrom + +Performs null-safe comparison. Used to compare JOIN keys which contain NULL values in the JOIN ON section. +This function will consider two `NULL` values as identical and will return `true`, which is distinct from the usual +equals behavior where comparing two `NULL` values would return `NULL`. + +:::note +This function can only be used as part of a JOIN ON section of a query. The function is unimplemented for any other use. +::: + +**Syntax** + +``` sql +isNotDistinctFrom(x, y) +``` + +**Arguments** + +- `x` — first JOIN key. +- `y` — second JOIN key. + +**Returned value** + +- `true` when `x` and `y` are both `NULL`. +- `false` otherwise. + +**Example** + +For a complete example see: [NULL values in JOIN keys](../../sql-reference/statements/select/join#null-values-in-join-keys). + ## isZeroOrNull Returns whether the argument is 0 (zero) or [NULL](../../sql-reference/syntax.md#null-literal). diff --git a/docs/ru/sql-reference/statements/select/where.md b/docs/ru/sql-reference/statements/select/where.md index 5b3ba01f00e..588c56df6af 100644 --- a/docs/ru/sql-reference/statements/select/where.md +++ b/docs/ru/sql-reference/statements/select/where.md @@ -14,7 +14,7 @@ ClickHouse использует в выражении индексы, если :::note Примечание Существует оптимизация фильтрации под названием [PREWHERE](prewhere.md). ::: -Если в секции необходимо проверить [NULL](../../../sql-reference/syntax.md#null-literal), то используйте операторы [IS NULL](../../operators/index.md#operator-is-null) и [IS NOT NULL](../../operators/index.md#is-not-null), а также соответствующие функции [isNull](../../../sql-reference/functions/null-functions.md#isnull) и [isNotNull](../../../sql-reference/functions/full-functions.md#isnotnull). В противном случае выражение будет считаться всегда не выполненным. +Если в секции необходимо проверить [NULL](../../../sql-reference/syntax.md#null-literal), то используйте операторы [IS NULL](../../operators/index.md#operator-is-null) и [IS NOT NULL](../../operators/index.md#is-not-null), а также соответствующие функции [isNull](../../../sql-reference/functions/null-functions.md#isnull) и [isNotNull](../../../sql-reference/functions/null-functions.md#isnotnull). В противном случае выражение будет считаться всегда не выполненным. **Пример**