الانتقال إلى المحتوى الرئيسي
تنفّذ الدوال أدناه عمليات منطقية على وسيطات من أي نوع رقمي. وتُرجع إما 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[, ...])
الوسائط القيمة المُعادة تُرجع:
  • 0، إذا قُيِّمت وسيطة واحدة على الأقل إلى false
  • NULL، إذا لم تُقيَّم أي وسيطة إلى false وكانت قيمة وسيطة واحدة على الأقل هي NULL
  • 1، بخلاف ذلك Nullable(UInt8)
أمثلة الاستخدام الأساسي
Query
SELECT and(0, 1, -2);
Response
0
مع القيمة NULL
Query
SELECT and(NULL, 1, 10, -2);
Response
ᴺᵁᴸᴸ

not

ظهر في: v1.1.0 يحسب النفي المنطقي لقيمة. تُعتبر القيمة صفر false، وتُعتبر القيم غير الصفرية true. الصيغة
not(val)
الوسائط القيمة المُعادة يعيد:
  • 1، إذا قُيِّمت val إلى false
  • 0، إذا قُيِّمت val إلى true
  • NULL، إذا كانت val تساوي NULL. Nullable(UInt8)
أمثلة الاستخدام الأساسي
Query
SELECT NOT(1);
Response
0

or

أُضيفت في: 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[, ...])
الوسائط القيمة المعادة يعيد:
  • 1، إذا قُيِّمت وسيط واحد على الأقل إلى true
  • 0، إذا قُيِّمت جميع الوسائط إلى false
  • NULL، إذا قُيِّمت جميع الوسائط إلى false وكان هناك وسيط واحد على الأقل يساوي NULL Nullable(UInt8)
أمثلة الاستخدام الأساسي
Query
SELECT or(1, 0, 0, 2, NULL);
Response
1
مع NULL
Query
SELECT or(0, NULL);
Response
ᴺᵁᴸᴸ

xor

أُضيف في: v1.1.0 يحسب عملية «أو» الحصرية المنطقية بين قيمتين أو أكثر. عند وجود أكثر من قيمتَي إدخال، تطبّق الدالة xor أولًا على القيمتين الأوليين، ثم تطبّق xor على الناتج مع القيمة الثالثة، وهكذا. تُعد القيمة صفر، عند استخدامها كوسيط، false، بينما تُعد القيم غير الصفرية true. الصيغة
xor(val1, val2[, ...])
الوسائط القيمة المُعادة يُرجع:
  • 1، لقيمتين: إذا قُيِّمت إحدى القيمتين إلى false ولم تُقيَّم الأخرى كذلك
  • 0، لقيمتين: إذا قُيِّمت كلتا القيمتين إلى false أو كلتاهما إلى true
  • NULL، إذا كانت واحدة على الأقل من القيم المُدخلة هي NULL. Nullable(UInt8)
أمثلة الاستخدام الأساسي
Query
SELECT xor(0, 1, 1);
Response
0
آخر تعديل في ٢٥ يونيو ٢٠٢٦