الانتقال إلى المحتوى الرئيسي

assumeNotNull

قُدِّمت في: v1.1.0 تعيد القيمة غير Nullable المقابلة لقيمة من النوع Nullable. إذا كانت القيمة الأصلية هي NULL، فقد تُعاد نتيجة غير محددة. انظر أيضًا: الدالتان ifNull وcoalesce. الصيغة
assumeNotNull(x)
الوسيطات
  • x — القيمة الأصلية لأي نوع Nullable. Nullable(T)
القيمة المُعادة يعيد قيمة غير قابلة لأن تكون NULL إذا لم تكن القيمة الأصلية NULL، وإلا فيُعيد قيمة عشوائية إذا كانت قيمة الإدخال NULL. Any أمثلة مثال على الاستخدام
Query
CREATE TABLE t_null (x Int8, y Nullable(Int8))
ENGINE=MergeTree()
ORDER BY x;

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT assumeNotNull(y) FROM table;
SELECT toTypeName(assumeNotNull(y)) FROM t_null;
Response
┌─assumeNotNull(y)─┐
│                0 │
│                3 │
└──────────────────┘
┌─toTypeName(assumeNotNull(y))─┐
│ Int8                         │
│ Int8                         │
└──────────────────────────────┘

coalesce

أُضيفت في: v1.1.0 تُرجِع الوسيطة الأولى غير NULL من اليسار. الصياغة
coalesce(x[, y, ...])
الوسائط
  • x[, y, ...] — أي عدد من الوسائط من نوع غير مركب. يجب أن تكون جميع الوسائط من أنواع بيانات متوافقة فيما بينها. Any
القيمة المعادة تعيد أول وسيط غير NULL، وإلا فتعيد NULL إذا كانت جميع الوسائط NULL. Any أو NULL أمثلة مثال على الاستخدام
Query
-- Consider a list of contacts that may specify multiple ways to contact a customer.

CREATE TABLE aBook
(
    name String,
    mail Nullable(String),
    phone Nullable(String),
    telegram Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO aBook VALUES ('client 1', NULL, '123-45-67', 123), ('client 2', NULL, NULL, NULL);

-- The mail and phone fields are of type String, but the telegram field is UInt32 so it needs to be converted to String.

-- Get the first available contact method for the customer from the contact list

SELECT name, coalesce(mail, phone, CAST(telegram,'Nullable(String)')) FROM aBook;
Response
┌─name─────┬─coalesce(mail, phone, CAST(telegram, 'Nullable(String)'))─┐
│ client 1 │ 123-45-67                                                 │
│ client 2 │ ᴺᵁᴸᴸ                                                      │
└──────────┴───────────────────────────────────────────────────────────┘

firstNonDefault

استُحدث في: v25.9.0 يعيد أول قيمة غير افتراضية من مجموعة من المعاملات البنية
firstNonDefault(arg1[, arg2[ ...]])
الوسائط
  • arg1 — الوسيط الأول المطلوب التحقق منه - arg2 — الوسيط الثاني المطلوب التحقق منه - ... — وسائط إضافية مطلوب التحقق منها
القيمة المُعادة نوع النتيجة هو النوع الأعلى لجميع الوسائط أمثلة الأعداد الصحيحة
Query
SELECT firstNonDefault(0, 1, 2)
Response
1
سلاسل نصية
Query
SELECT firstNonDefault('', 'hello', 'world')
Response
'hello'
قيم NULL
Query
SELECT firstNonDefault(NULL, 0 :: UInt8, 1 :: UInt8)
Response
1
صفر من النوع Nullable
Query
SELECT firstNonDefault(NULL, 0 :: Nullable(UInt8), 1 :: Nullable(UInt8))
Response
0

ifNull

أُضيف في: v1.1.0 يعيد قيمة بديلة إذا كانت الوسيطة الأولى NULL. الصياغة
ifNull(x, alt)
المعاملات
  • x — القيمة المطلوب التحقق من كونها NULL. Any
  • alt — القيمة التي تُرجعها الدالة إذا كانت x تساوي NULL. Any
القيمة المُعادة تُرجع قيمة x إذا لم تكن NULL، وإلا فتُرجع alt. Any أمثلة مثال على الاستخدام
Query
SELECT ifNull('a', 'b'), ifNull(NULL, 'b');
Response
┌─ifNull('a', 'b')─┬─ifNull(NULL, 'b')─┐
│ a                │ b                 │
└──────────────────┴───────────────────┘

isNotNull

أُضيف في: v1.1.0 يتحقق مما إذا كانت الوسيطة لا تساوي NULL. انظر أيضًا: العامل IS NOT NULL. البنية
isNotNull(x)
المعاملات
  • x — قيمة من نوع بيانات غير مركّب. Any
القيمة المُعادة تُرجع 1 إذا كانت x ليست NULL، وإلا فتُرجع 0. UInt8 أمثلة مثال على الاستخدام
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNotNull(y);
Response
┌─x─┐
│ 2 │
└───┘

isNull

أُضيف في: v1.1.0 يتحقق مما إذا كانت الوسيطة تساوي NULL. راجع أيضًا: العامل IS NULL. البنية
isNull(x)
الوسائط
  • x — قيمة من نوع بيانات غير مركّب. Any
القيمة المُعادة تُرجع 1 إذا كانت x تساوي NULL، وإلا فتُرجع 0. UInt8 أمثلة مثال على الاستخدام
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT x FROM t_null WHERE isNull(y);
Response
┌─x─┐
│ 1 │
└───┘

isNullable

قُدِّم في: v22.7.0 يتحقق مما إذا كان نوع بيانات المعامل هو Nullable (أي إنه يسمح بقيم NULL). البنية
isNullable(x)
الوسائط
  • x — قيمة من أي نوع بيانات. Any
القيمة المعادة تعيد 1 إذا كانت x من نوع البيانات Nullable، وإلا فتعيد 0. UInt8 أمثلة مثال للاستخدام
Query
CREATE TABLE tab (
    ordinary_col UInt32,
    nullable_col Nullable(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple();
INSERT INTO tab (ordinary_col, nullable_col) VALUES (1,1), (2, 2), (3,3);
SELECT isNullable(ordinary_col), isNullable(nullable_col) FROM tab;
Response
┌───isNullable(ordinary_col)──┬───isNullable(nullable_col)──┐
│                           0 │                           1 │
│                           0 │                           1 │
│                           0 │                           1 │
└─────────────────────────────┴─────────────────────────────┘

isZeroOrNull

استُحدث في: v20.3.0 يتحقق مما إذا كانت الوسيطة تساوي صفرًا (0) أو NULL. الصيغة
isZeroOrNull(x)
المعاملات
  • x — قيمة رقمية. UInt
القيمة المُعادة تُرجِع 1 إذا كانت x هي NULL أو تساوي صفرًا، وإلا فتُرجِع 0. UInt8/16/32/64 أو Float32/Float64 أمثلة مثال على الاستخدام
Query
CREATE TABLE t_null
(
  x Int32,
  y Nullable(Int32)
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO t_null VALUES (1, NULL), (2, 0), (3, 3);

SELECT x FROM t_null WHERE isZeroOrNull(y);
Response
┌─x─┐
│ 1 │
│ 2 │
└───┘

nullIf

أُضيفت في: v1.1.0 تُرجِع NULL إذا تساوى الوسيطان. الصياغة
nullIf(x, y)
المعاملات
  • x — القيمة الأولى. Any
  • y — القيمة الثانية. Any
القيمة المُعادة يعيد NULL إذا كان المعاملان متساويين، وإلا فيعيد المعامل الأول. NULL أو Nullable(x) أمثلة مثال على الاستخدام
Query
SELECT nullIf(1, 1), nullIf(1, 2);
Response
┌─nullIf(1, 1)─┬─nullIf(1, 2)─┐
│         ᴺᵁᴸᴸ │            1 │
└──────────────┴──────────────┘

toNullable

أُضيف في: v1.1.0 يحوّل نوع الوسيطة المُقدَّمة إلى Nullable. الصيغة
toNullable(x)
الوسائط
  • x — قيمة من أي نوع غير مركب. Any
القيمة المُعادة تعيد قيمة الإدخال، ولكن بنوع Nullable. Nullable(Any) أمثلة مثال على الاستخدام
Query
SELECT toTypeName(10), toTypeName(toNullable(10));
Response
┌─toTypeName(10)─┬─toTypeName(toNullable(10))─┐
│ UInt8          │ Nullable(UInt8)            │
└────────────────┴────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦