تنفّذ الدوال أدناه عمليات منطقية على وسيطات من أي نوع رقمي.
وتُرجع إما 0 أو 1 من النوع UInt8، أو NULL في بعض الحالات.
تُعتبر القيمة الصفرية في الوسيط false، بينما تُعتبر القيم غير الصفرية true.
and
أُضيف في: v1.1.0
يحسب الاقتران المنطقي لقيمتين أو أكثر.
يتحكم الإعداد short_circuit_function_evaluation في ما إذا كان يُستخدم التقييم المختصر.
إذا كان مفعّلًا، فلن يُقيَّم val_i إلا إذا كانت (val_1 AND val_2 AND ... AND val_{i-1}) تساوي true.
على سبيل المثال، عند استخدام التقييم المختصر، لا يُرفَع استثناء قسمة على صفر عند تنفيذ الاستعلام SELECT and(number = 2, intDiv(1, number)) FROM numbers(5).
يُعتبر الصفر كوسيطة false، وتُعتبر القيم غير الصفرية true.
الصيغة
and(val1, val2[, ...])الوسائط
val1, val2[, ...]— قائمة تضم قيمتين على الأقل.Nullable((U)Int*)أوNullable(Float*)
القيمة المُعادة
تُرجع:
0، إذا قُيِّمت وسيطة واحدة على الأقل إلىfalseNULL، إذا لم تُقيَّم أي وسيطة إلىfalseوكانت قيمة وسيطة واحدة على الأقل هيNULL1، بخلاف ذلكNullable(UInt8)
أمثلة
الاستخدام الأساسي
SELECT and(0, 1, -2);0مع القيمة NULL
SELECT and(NULL, 1, 10, -2);\Nnot
ظهر في: v1.1.0
يحسب النفي المنطقي لقيمة.
تُعتبر القيمة صفر false، وتُعتبر القيم غير الصفرية true.
الصيغة
not(val)الوسائط
القيمة المُعادة
يعيد:
1، إذا قُيِّمتvalإلىfalse0، إذا قُيِّمتvalإلىtrueNULL، إذا كانتvalتساويNULL.Nullable(UInt8)
أمثلة
الاستخدام الأساسي
SELECT NOT(1);0or
أُضيفت في: v1.1.0
تحسب عملية OR المنطقية لقيمتين أو أكثر.
يتحكم الإعداد short_circuit_function_evaluation في ما إذا كان التقييم المختصر مستخدمًا.
إذا كان مفعّلًا، فلا تُقيَّم val_i إلا إذا كانت ((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1})) تساوي true.
على سبيل المثال، عند استخدام التقييم المختصر، لا يُرفع استثناء قسمة على صفر عند تنفيذ الاستعلام SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5).
تُعدّ القيمة صفر كوسيطة false، وتُعدّ القيم غير الصفرية true.
الصيغة
or(val1, val2[, ...])الوسائط
val1, val2[, ...]— قائمة تضم قيمتين على الأقل.Nullable((U)Int*)أوNullable(Float*)
القيمة المعادة
يُرجع:
1، إذا قُيِّمت وسيطة واحدة على الأقل إلىtrue0، إذا قُيِّمت جميع الوسائط إلىfalseNULL، إذا قُيِّمت جميع الوسائط إلىfalseوكان هناك وسيطة واحدة على الأقل يساويNULLNullable(UInt8)
أمثلة
الاستخدام الأساسي
SELECT or(1, 0, 0, 2, NULL);1مع NULL
SELECT or(0, NULL);\Nxor
أُضيف في: v1.1.0
يحسب عملية «أو» الحصرية المنطقية بين قيمتين أو أكثر.
عند وجود أكثر من قيمتَي إدخال، تطبّق الدالة xor أولًا على القيمتين الأوليين، ثم تطبّق xor على الناتج مع القيمة الثالثة، وهكذا.
تُعد القيمة صفر، عند استخدامها كوسيط، false، بينما تُعد القيم غير الصفرية true.
الصيغة
xor(val1, val2[, ...])الوسائط
val1, val2[, ...]— قائمة تضم قيمتين على الأقل.Nullable((U)Int*)أوNullable(Float*)
القيمة المُعادة
يُرجع:
1، لقيمتين: إذا قُيِّمت إحدى القيمتين إلىfalseولم تُقيَّم الأخرى كذلك0، لقيمتين: إذا قُيِّمت كلتا القيمتين إلىfalseأو كلتاهما إلىtrueNULL، إذا كانت واحدة على الأقل من القيم المُدخلة هيNULL.Nullable(UInt8)
أمثلة
الاستخدام الأساسي
SELECT xor(0, 1, 1);0